package inline
import "cmd/compile/internal/inline"
Index ¶
- Variables
- func CalleeEffects(init *ir.Nodes, callee ir.Node)
- func CanInline(fn *ir.Func, profile *pgo.Profile)
- func InlineCalls(fn *ir.Func, profile *pgo.Profile)
- func InlineDecls(p *pgo.Profile, decls []ir.Node, doInline bool)
- func InlinePackage(p *pgo.Profile)
Variables ¶
var InlineCall = oldInlineCall
InlineCall allows the inliner implementation to be overridden. If it returns nil, the function will not be inlined.
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 InlineDecls ¶
InlineDecls applies inlining to the given batch of declarations.
func InlinePackage ¶
InlinePackage finds functions that can be inlined and clones them before walk expands them.
Source Files ¶
- Version
- v1.20.13
- Published
- Jan 4, 2024
- Platform
- linux/amd64
- Imports
- 13 packages
- Last checked
- 3 minutes ago –
Tools for package owners.