diff --git a/lib/codegen/src/binemit/relaxation.rs b/lib/codegen/src/binemit/relaxation.rs index 7cfb6491ca..dfebc5cb9d 100644 --- a/lib/codegen/src/binemit/relaxation.rs +++ b/lib/codegen/src/binemit/relaxation.rs @@ -32,12 +32,15 @@ use cursor::{Cursor, FuncCursor}; use ir::{Function, InstructionData, Opcode}; use isa::{EncInfo, TargetIsa}; use iterators::IteratorExtras; +use timing; use CodegenResult; /// Relax branches and compute the final layout of EBB headers in `func`. /// /// Fill in the `func.offsets` table so the function is ready for binary emission. pub fn relax_branches(func: &mut Function, isa: &TargetIsa) -> CodegenResult { + let _tt = timing::relax_branches(); + let encinfo = isa.encoding_info(); // Clear all offsets so we can recognize EBBs that haven't been visited yet. diff --git a/lib/codegen/src/binemit/shrink.rs b/lib/codegen/src/binemit/shrink.rs index 813110ac97..3c7d3390ef 100644 --- a/lib/codegen/src/binemit/shrink.rs +++ b/lib/codegen/src/binemit/shrink.rs @@ -8,9 +8,12 @@ use ir::Function; use isa::TargetIsa; use regalloc::RegDiversions; +use timing; /// Pick the smallest valid encodings for instructions. pub fn shrink_instructions(func: &mut Function, isa: &TargetIsa) { + let _tt = timing::shrink_instructions(); + let encinfo = isa.encoding_info(); let mut divert = RegDiversions::new(); diff --git a/lib/codegen/src/timing.rs b/lib/codegen/src/timing.rs index 34195c8e32..961c6fea30 100644 --- a/lib/codegen/src/timing.rs +++ b/lib/codegen/src/timing.rs @@ -71,6 +71,8 @@ define_passes!{ ra_coloring: "RA coloring", prologue_epilogue: "Prologue/epilogue insertion", + shrink_instructions: "Instruction encoding shrinking", + relax_branches: "Branch relaxation", binemit: "Binary machine code emission", layout_renumber: "Layout full renumbering",