Module cretonne_codegen::timing[][src]

Pass timing.

This modules provides facilities for timing the execution of individual compilation passes.

Structs

PassTimes

Accumulated timing for all passes.

TimingToken

A timing token is responsible for timing the currently running pass. Timing starts when it is created and ends when it is dropped.

Functions

add_to_current

Add timings to the accumulated timings for the current thread.

binemit

Binary machine code emission

canonicalize_nans

Canonicalization of NaNs

compile

Compilation passes

dce

Dead code elimination

domtree

Dominator tree

flowgraph

Control flow graph

gvn

Global value numbering

layout_renumber

Layout full renumbering

legalize

Legalization

licm

Loop invariant code motion

loop_analysis

Loop analysis

parse_text

Parsing textual Cretonne IR

postopt

Post-legalization rewriting

preopt

Pre-legalization rewriting

process_file

Processing test file

prologue_epilogue

Prologue/epilogue insertion

ra_coloring

RA coloring

ra_cssa

RA coalescing CSSA

ra_liveness

RA liveness analysis

ra_reload

RA reloading

ra_spilling

RA spilling

regalloc

Register allocation

relax_branches

Branch relaxation

shrink_instructions

Instruction encoding shrinking

take_current

Take the current accumulated pass timings and reset the timings for the current thread.

unreachable_code

Remove unreachable blocks

verifier

Verify Cretonne IR

verify_cssa

Verify CSSA

verify_flags

Verify CPU flags

verify_liveness

Verify live ranges

verify_locations

Verify value locations

wasm_translate_function

Translate WASM function

wasm_translate_module

Translate WASM module