ARM first & default LDC

Jeeferson jeeferson.johnson at gmail.com
Sat Dec 19 20:36:07 UTC 2020


On Saturday, 19 December 2020 at 17:40:28 UTC, Timon Gehr wrote:
> On 19.12.20 18:15, claptrap wrote:
>> 
>> 2. People could just add it to LLVM if they want i think. 
>> Might even be easier to write a whole new backend from 
>> scratch, i dont know. IE. Not having DMD doesnt preclude the 
>> benefit that Walter claims DMD gives us.
>> 
>
> Building LLVM from scratch takes multiple hours. Building DMD 
> from scratch (including backend) takes _seconds_.

Anyone that says LLVM takes multiple hours obviously hasn't built 
it, or are using a 20 year old computer to build it.

Once you build LLVM you don't build it again. Unless you are 
modifying LLVM itself, which LDC only has one or two commits that 
make changes, for Android for local thread storage. So if you are 
developing a compiler it would still only take seconds.

> Why is it so hard to believe that this is a benefit that an 
> actual compiler developer might care for? It's exactly the 
> prevalence of this kind of common sense pragmatics that makes D 
> so convenient to use despite all flaws. You lose that if you 
> start adding dependencies on projects that lack it.

The user base that compiles DMD is infinitely smaller than the 
amount that use it. The only opinion I've heard from the D dev 
team is that they hate the backend and see the DMD backend as 
obsolete. So not sure who you are really referring to here, in 
reality.

> Anyway, I think the solution is not to change the default 
> development compiler, it's to get rid of that concept by 
> improving separation of frontend and backends in the frontend 
> development workflow so that it becomes equally convenient to 
> develop frontend patches against every backend. (Though it may 
> be possible to make the case that this would happen more 
> quickly if LLVM or GCC were made the default backend, as it's 
> plausible that the developers of LDC and GDC are more aware of 
> what needs to be done in that department.)

One of the benefits of having your own backend is that you have 
control over it right? I don't think anyone here would disagree 
the current backend is garbage. It is legacy C, it is difficult 
to read and write and is full of bugs. All the while only one 
person is really working on it.

Since we have full control why isn't a better backend created? 
This is indicative of the real problems that are being faced. 
Lack of manpower.



More information about the Digitalmars-d mailing list