pragma inline and public imported functions from another module
Cecil Ward
cecil at cecilward.com
Wed May 31 18:15:52 UTC 2023
If I declare something as pragma( inline, true ) and it is
declared public and then imported into another module will it
then inline into the call site in GDC / LDC ? (Like a C function
(or macro) whose body is given in whole in a .h file and
force-inlined, not a call resolved by the linker.)
So that’s my question: does the import mechanism defeat enforced
inlining in GDC / LDC?
Not the absolute end of the world if it doesn’t but then users
will just absolutely have to cut and past the inline-critical
code into their calling module. And it will be incredibly short
code, anyway in such a case, otherwise a call to a single copy
of a somewhat longer routine might well be better if called from
several places because of code-caching hotness.
I can’t test that yet myself as I don’t have a suitable test bed
due to poor health - long story. I’ve been using godbolt.org
Compiler Explorer to examine code generation quality.
More information about the Digitalmars-d-learn
mailing list