DMD release compiler flags when building with LDC
kinke
kinke at gmx.net
Wed Oct 23 11:24:32 UTC 2019
On Wednesday, 23 October 2019 at 09:49:57 UTC, Per Nordlöw wrote:
> On Tuesday, 22 October 2019 at 18:55:03 UTC, kinke wrote:
>> On Tuesday, 22 October 2019 at 14:02:28 UTC, Per Nordlöw wrote:
>>> ENABLE_LTO=1 \
>>
>> This has exactly 0 effect on DMD itself, from DMD's
>> src/posix.mak:
>>
>> ifdef ENABLE_LTO
>> CXXFLAGS += -flto
>> endif
>
> So, I presume we could set
>
> ifdef ENABLE_LTO
> DFLAGS += -flto=full
> endif
>
> in the case when `HOST_DC` is either `ldmd2` or `ldc2` then,
> right?
>
> This works for me.
My bad, I thought build.d was a replacement for the Makefile,
instead the Makefile is based on it, so this should kick in:
https://github.com/dlang/dmd/blob/ce7576f256d4efaff843f5e7d6ed39e8d7f32a4e/src/build.d#L781-L784
druntime is linked as machine code though, so an additional
`-defaultlib=druntime-ldc-lto` (if available in the used LDC
package, true for almost all official packages) would
additionally enable LTO across DMD and druntime.
More information about the Digitalmars-d
mailing list