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