Need to makes a well balanced decision for this! Surprising development.
Problem statement:
currently we'll have no inlining unless dub --combined is used, which is a major problem and not a LDC problem (EDIT: possibly not true anymore?)
some LDC construct such as __ir builds slow currently, which is a minor problem, unresolved but not really important
ideally we want intrinsics inlined or not, based upon the compiler deciding. Or we could live with a forced inlining for everything, which would itself be a minor issue.
it's unclear how DMD will manage that amount of pragma(inline), apparently in top-level this should be relatively harmless since .di generation needs that. Historically, pragma(inline) inside body used to cause problems.
reggae and redub builds needs pragma(inline, true) to build fast, as seen during redub development
kinke expects our "intrinsics" to be of course pragma(inline, true) so I'm missing something
but that also inlines the body everywhere, as mentionned above
function literals have differing linkage properties, as per-kinke response in ldc issues (read that) and could be used instead... maybe
https://github.com/ldc-developers/ldc/issues/4388#issuecomment-2002054510
Need to makes a well balanced decision for this! Surprising development.
Problem statement:
__ir
builds slow currently, which is a minor problem, unresolved but not really importantpragma(inline)
, apparently in top-level this should be relatively harmless since .di generation needs that. Historically,pragma(inline)
inside body used to cause problems.pragma(inline, true)
to build fast, as seen during redub developmentpragma(inline, true)
so I'm missing something