dmd.inline
Performs inlining, which is an optimization pass enabled with the -
flag.
inline
Discussion
The AST is traversed, and every function call is considered for inlining using inlinecost.d
.
The function call is then inlined if this cost is below a threshold.
License
Source: inline.d
Documentation: https://dlang.org/phobos/dmd_inline.html
-
Declaration
void
inlineScanModule
(Modulem
);Scan function implementations in Module
m
looking for functions that can be inlined, and inline them in situ.Parameters
Module
m
module to scan
-
Declaration
Expression
inlineCopy
(Expressione
, Scope*sc
);Perform the "inline copying" of a default argument for a function parameter.
Todo: The hack for https://issues.dlang.org/show_bug.cgi?id=4820 case is still questionable. Perhaps would have to handle a delegate expression with '
null
' context properly in front-end.