Module pass_manager

Source

Structs§

Lint 🔒
An adapter for MirLints that implements MirPass.
WithMinOptLevel 🔒

Enums§

Optimizations 🔒
Whether to allow non-required optimizations

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§

c_name 🔒
dump_mir_for_pass 🔒
dump_mir_for_phase_change 🔒
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 🔒
to_profiler_name 🔒
Converts a MIR pass name into a snake case form to match the profiling naming style.
validate_body 🔒