On Sunday, 10 March 2019 at 02:05:37 UTC, Manu wrote:
Can you explain what this means:
* Fix: functions annotated with `pragma(inline, true)` are
implicitly cross-module-inlined again.
`pragma(inline, true)` functions have only been inlined in the
same compilation unit since LDC v1.1 (without explicit
`-enable-cross-module-inlining`). Now they are inlined across
compilation units again, as before v1.1 (and independent from the
-O level). E.g., this means that you don't need LTO to get rid of
calls to std.math trampolines for LLVM intrinsics such as:
pragma(inline, true)
real fabs(real x) @safe pure nothrow @nogc { return llvm_fabs(x);
}