Expand description
Inlining pass for MIR functions.
Modules§
- cycle 🔒
Structs§
- Call
Site 🔒 - Force
Inline - Force
Inliner 🔒 - Inline
- Integrator 🔒
- Integrator.
- Normal
Inliner 🔒
Constants§
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