ARM first & default LDC
Iain Buclaw
ibuclaw at gdcproject.org
Mon Dec 14 17:45:01 UTC 2020
On Monday, 14 December 2020 at 10:48:43 UTC, IGotD- wrote:
>
> There is one thing that worries me. GCC and LLVM contains
> primitives for optimizations and help for certain features.
> These primitives are often complicated and takes time to
> duplicate in the DMD backend. The result is that D will not use
> the helpful primitives in LLVM and therefore skip certain
> features that would otherwise be simpler to implement.
>
I think your feelings are misguided, a primitive does not mean it
must be implemented in the compiler. Take core.bitop.rol() and
ror() as one example, these are implemented as a function in
druntime for DMD and LDC, but are primitives to GDC (LROTATE_EXPR
and RROTATE_EXPR respectively). Same also applies to the entire
core.checkedint module, or the core.varargs module, both of which
are treated as primitives for GDC as well.
> The DMD backend might be Walter's darling but what if he could
> move to LLVM, discover all the helpful primitives which perhaps
> increase the productivity and new ideas might emerge. It's a
> selling point.
Moving main development to LDC will be the death of D.
More information about the Digitalmars-d
mailing list