inline

package standard library
go1.20 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2023 License: BSD-3-Clause Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var InlineCall = oldInlineCall

InlineCall allows the inliner implementation to be overridden. If it returns nil, the function will not be inlined.

View Source
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 added in go1.18

func CalleeEffects(init *ir.Nodes, callee ir.Node)

CalleeEffects appends any side effects from evaluating callee to init.

func CanInline

func CanInline(fn *ir.Func, profile *pgo.Profile)

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

func InlineCalls(fn *ir.Func, profile *pgo.Profile)

InlineCalls/inlnode walks fn's statements and expressions and substitutes any calls made to inlineable functions. This is the external entry point.

func InlineDecls added in go1.20

func InlineDecls(p *pgo.Profile, decls []ir.Node, doInline bool)

InlineDecls applies inlining to the given batch of declarations.

func InlinePackage

func InlinePackage(p *pgo.Profile)

InlinePackage finds functions that can be inlined and clones them before walk expands them.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL