Module inline

Source
Expand description

Inlining pass for MIR functions.

Modules§

cycle 🔒

Structs§

CallSite 🔒
ForceInline
ForceInliner 🔒
Inline
Integrator 🔒
Integrator.
NormalInliner 🔒

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 temporary T and an instruction T = arg, and returns T.
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 🔒