Skip to main content

Module inline

Module inline 

Source
Expand description

Inlining pass for MIR functions.

Modulesยง

cycle ๐Ÿ”’

Structsยง

CallSite ๐Ÿ”’
ForceInline
ForceInliner ๐Ÿ”’
Inline
Integrator ๐Ÿ”’
Integrator.
NormalInliner ๐Ÿ”’

Constantsยง

HISTORY_DEPTH_LIMIT ๐Ÿ”’
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 ๐Ÿ”’