Is there a way to make ldc do more aggressive inlining other than

    pragma(inline, true)

?

Reason for asking is that

https://github.com/nordlow/phobos-next/blob/master/src/open_hashmap_or_hashset.d

achieves much better performance when I qualify some inner loop functions with

    pragma(inline, true)

instead of

    pragma(inline)

eventhough I compile with -release -inline -nobounds flags.

Unfortunately these functions cannot be inlined by dmd in release mode so my code either runs slower than possible or it cannot be built by dmd in release mode.

And I haven't found a way to conditionally qualify these inner loop functions with `pragma(inline, true)` for the ldc case only.

Reply via email to