ARM first & default LDC

Max Haughton maxhaton at gmail.com
Wed Dec 30 18:25:41 UTC 2020


On Wednesday, 30 December 2020 at 18:04:25 UTC, Ola Fosheim 
Grøstad wrote:
> On Wednesday, 30 December 2020 at 17:49:43 UTC, Max Haughton 
> wrote:
>> SSA basically gets you a lot of optimisations for "free" 
>> (amortized) if you maintain the property but other than that a 
>> simple backend is hugely faster than LLVM as evidenced by 
>> languages moving away from LLVM for debug builds.
>
> Maybe it is possible to design a SSA that is very close to 
> WASM? I think that tight code gen for WASM can be competitive 
> as there is a desire to keep downloads small on the web.

WASM is a stack machine IIRC whereas most compiler optimisations 
are traditionally stated as register machines so it would be more 
productive to have WASM as a traditional backend.

I think any algorithms that rely on DAGs are also more efficient 
with register IRs, so again it would be easy to have a 
traditional SSA IR (probably with Block arguments instead of phi 
because it's 2020) and convert to a stack machine afterwards.


More information about the Digitalmars-d mailing list