Expand description
Inlining pass for MIR functions.
Modulesยง
- cycle ๐
Structsยง
- Call
Site ๐ - Force
Inline - Force
Inliner ๐ - Inline
- Integrator ๐
- Integrator.
- Normal
Inliner ๐
Constantsยง
- TOP_
DOWN_ ๐DEPTH_ LIMIT
Traitsยง
- Inliner ๐
Functionsยง
- body_
is_ ๐forwarder - check_
codegen_ ๐attributes - Returns an error if inlining is not possible based on codegen attributes alone. A success indicates that inlining decision should be based on other criteria.
- check_
mir_ ๐is_ available - create_
temp_ ๐if_ necessary - If
arg
is already a temporary, returns it. Otherwise, introduces a fresh temporaryT
and an instructionT = arg
, and returnsT
. - inline ๐
- inline_
call ๐ - make_
call_ ๐args - new_
call_ ๐temp - Introduces a new temporary into the caller body that is live for the duration of the call.
- process_
blocks ๐ - resolve_
callsite ๐ - try_
inlining ๐ - Attempts to inline a callsite into the caller body. When successful returns basic blocks containing the inlined body. Otherwise returns an error describing why inlining didnโt take place.
- try_
instance_ ๐mir