Is there a way to get a list of functions that get inlined by dmd?

Scorn scorn at trash-mail.com
Mon Feb 8 07:33:17 PST 2010


Trass3r schrieb:
> Would be interesting.


Yes, this would be very interesting indeed. A list of the rules which
dmd uses internally for inlining functions and methods similiar to this
(which is for .NET)

http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx

would be really nice. Sure you can figure this out on your own by
studying the compiler sources but a simple list of rules (does not have
to be exhaustive) on http://www.digitalmars.com/d/1.0/lex.html or on a
seperate page regarding optimizations for d would be very appreciated.

The only things i figured out so far is that functions across modules do
not seem to get inlined (i don't know if this is the case in general)
which would be really bad. Another thing which i believe is that
functions / methods which contain ref parameters are never inlined at
all (which is again really annoying since it's not a clever way passing
huge structs by value).



More information about the Digitalmars-d-learn mailing list