Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var NewInline = func(call *ir.CallExpr, fn *ir.Func, inlIndex int) *ir.InlinedCallExpr { return nil }
NewInline allows the inliner implementation to be overridden. If it returns nil, the legacy inliner will handle this call instead.
var SSADumpInline = func(*ir.Func) {}
SSADumpInline gives the SSA back end a chance to dump the function when producing output for debugging the compiler itself.
Functions ¶
func CalleeEffects ¶
CalleeEffects appends any side effects from evaluating callee to init.
func CanInline ¶
CanInline determines whether fn is inlineable. If so, CanInline saves copies of fn.Body and fn.Dcl in fn.Inl. fn and fn.Body will already have been typechecked.
func InlineCalls ¶
InlineCalls/inlnode walks fn's statements and expressions and substitutes any calls made to inlineable functions. This is the external entry point.
func InlinePackage ¶
func InlinePackage()
InlinePackage finds functions that can be inlined and clones them before walk expands them.
Types ¶
This section is empty.