Skip to content
  1. Aug 13, 2012
  2. Aug 11, 2012
    • Jakob Stoklund Olesen's avatar
      Add a proper if-conversion cost model. · bc55bfde
      Jakob Stoklund Olesen authored
      Detect when there is not enough available ILP, so if-conversion can't
      speculate instructions for free.
      
      Compute the lengthening of the critical path when inserting a select
      instruction that depends on the condition as well as both sides of the
      if.
      
      Reject conversions that would stretch the critical path by more than
      half a mispredict penalty.
      
      llvm-svn: 161713
      bc55bfde
  3. Aug 10, 2012
  4. Aug 08, 2012
  5. Aug 07, 2012
  6. Jul 30, 2012
  7. Jul 28, 2012
  8. Jul 26, 2012
    • Jakob Stoklund Olesen's avatar
      Start scaffolding for a MachineTraceMetrics analysis pass. · f9029fef
      Jakob Stoklund Olesen authored
      This is still a work in progress.
      
      Out-of-order CPUs usually execute instructions from multiple basic
      blocks simultaneously, so it is necessary to look at longer traces when
      estimating the performance effects of code transformations.
      
      The MachineTraceMetrics analysis will pick a typical trace through a
      given basic block and provide performance metrics for the trace. Metrics
      will include:
      
      - Instruction count through the trace.
      - Issue count per functional unit.
      - Critical path length, and per-instruction 'slack'.
      
      These metrics can be used to determine the performance limiting factor
      when executing the trace, and how it will be affected by a code
      transformation.
      
      Initially, this will be used by the early if-conversion pass.
      
      llvm-svn: 160796
      f9029fef
  9. Jul 11, 2012
  10. Jul 06, 2012
  11. Jul 04, 2012
Loading