On Sunday, 9 August 2020 at 22:18:13 UTC, Per Nordlöw wrote:
Is cross-module-inlining enabled by default in LDC when
compiling in release mode or do I have to use explicitly flag
for it? I can't find any such flag from the output of neither
ldc2 -h
nor
ldmd2 -h
.
Johan Engelen mentioned this, then experimental, flag in his
DConf talk from 2017 [1]
[1] https://www.youtube.com/watch?v=IZY67TBZ0V4
If you enable link time optimisation you get cross module
inlining,
-flto=full
I'm not 100% sure but I think LDC did cross module inlining by
default at some point, then I updated the compiler and had to add
the LTO thing. I think there is an option to enable just cross
module inlining, but if you want speed you'll probably want to
have LTO enabled anyway?