dmd Backend converted to Boost License

David Nadlinger via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri Apr 7 17:23:59 PDT 2017


On Friday, 7 April 2017 at 22:57:39 UTC, Walter Bright wrote:
> Thanks for pointing that out, I didn't know that. I just 
> assumed LDC would have gone with a clang-style inline assembler 
> (does clang even have inline asm?).

LDC supports both DMD-style asm {} blocks as well as LLVM's 
native inline assembly format, which is very similar to GCC's, 
with explicit clobber specifications and explicit parameter 
passing (https://wiki.dlang.org/LDC_inline_assembly_expressions). 
The latter is useful on non-x86 platforms as well as to allow 
more optimizations of functions using inline asm such as inlining 
(although inlining in particular can also be enabled for 
DMD-style asm blocks using a pragma).

There are also inline IR expressions for the few situations where 
you don't want to drop down all the way to inline assembly but 
still need to crack open the hood and control the emitted LLVM 
IR: https://wiki.dlang.org/LDC_inline_IR. For example, we use it 
to implement some target-independent SIMD intrinsics in the 
library.

  — David


More information about the Digitalmars-d-announce mailing list