Skip to main content

Module pass_manager

Module pass_manager 

Source

Structsยง

Lint ๐Ÿ”’
An adapter for MirLints that implements MirPass.
WithMinOptLevel ๐Ÿ”’

Enumsยง

Optimizations ๐Ÿ”’
Whether to allow optimization passes.
PassPolicy ๐Ÿ”’
Rules outlining when this pass may be overridden or suppressed.

Constantsยง

PASS_TO_PROFILER_NAMES ๐Ÿ”’
Maps MIR pass names to a snake case form to match profiling naming style

Traitsยง

MirLint ๐Ÿ”’
Just like MirPass, except it cannot mutate Body, and MIR dumping is disabled (via the Lint adapter).
MirPass ๐Ÿ”’
A streamlined trait that you can implement to create a pass; the pass will be named after the type, and it will consist of a main loop that goes over each available MIR and applies run_pass.

Functionsยง

dump_mir_for_phase_change ๐Ÿ”’
is_optimization_stage ๐Ÿ”’
limited_by_opt_bisect ๐Ÿ”’
run_passes ๐Ÿ”’
The optional phase_change is applied after executing all the passes, if present
run_passes_inner ๐Ÿ”’
run_passes_no_validate ๐Ÿ”’
Run the sequence of passes without validating the MIR after each pass. The MIR is still validated at the end.
should_run_pass ๐Ÿ”’
simplify_pass_type_name ๐Ÿ”’
to_profiler_name ๐Ÿ”’
Converts a MIR pass name into a snake case form to match the profiling naming style.
validate_body ๐Ÿ”’