Inlining problem of core.bitops
jkrempus at gmail.com
jkrempus at gmail.com
Sat Dec 28 02:53:02 PST 2013
In LDC, core.bitop.bsf is just an ordinary function compiled in
libdruntime-ldc.a. Since bitop.d isn't on the command line, LDC uses the
precompiled code in the library, which can't be inlined. You can get it
to inline bsf by putting bitop.d on the command line:
ldmd2 -O -release -inline -output-s test.d /opt/ldc/include/d/core/bitop.d
_D4test4foo1FNaNbxkZk:
.cfi_startproc
movl %edi, %eax
bsfq %rax, %rax
ret
It inlines llvm_cttz because that is an llvm intrinsic.
More information about the digitalmars-d-ldc
mailing list