DMD backend generation future with the new AI race processor

Brad Roberts braddr at puremagic.com
Sun Mar 10 22:55:32 UTC 2024


The issues I had with doing the arm DMD backend were primarily the 
difficulty of deciphering and penetrating the dmd backend, not the arm 
parts.  The other big issue I had was me and my work patterns.  I got 
enough done that I knew it could be done.  That's an inflection point 
for me where it's likely I'll drop many projects, particularly the 
exploratory ones.  I was also busy with a more than full time job and 
had to prioritize it over massive side projects.

Combine that with the timing, and it just didn't make sense to continue 
the work.  This was about 10 years ago and LDC and GDC were becoming 
very usable, which brought along arm backends that were far more mature 
and already very usable.

If anyone wants to pick up the work, it's in the arm branch of my dmd 
fork.  Chances are it'd take a week or three to bring it back up to 
where I left it, meaning the barely capable of doing any code gen.  A 
LOT has changed over the years, but the touch points with the backend 
code haven't evolved all that much compared to the front end).  This 
would have been before the code base was all D and before switching to 
build.d -- neither of which are actually a big problem, just gives a bit 
of what era we're talking about.

As to being competitive, that's unrealistic for the same reason that 
dmd's backend isn't competitive with ldc and gdc.  It can reach the 
level of competent and usable (which _is_ a useful level of 
functionality), but there's just no way to complete with the legions of 
engineers that work on those optimizers and backend code generators.

My 2 cents,
Brad

On 3/10/2024 12:42 PM, Walter Bright via Digitalmars-d wrote:
> Brad looked into doing an ARM backend for DMD many years ago, but gave 
> it up as too much work.
> 
> I'd love to do a competitive one, but it would take a while.


More information about the Digitalmars-d mailing list