Skip to content
  1. Oct 10, 2003
  2. Oct 08, 2003
  3. Oct 07, 2003
  4. Oct 06, 2003
    • Chris Lattner's avatar
      Minor speedups for the instcombine pass · e8ed4ef0
      Chris Lattner authored
      llvm-svn: 8894
      e8ed4ef0
    • Chris Lattner's avatar
      Speed up the predicate used to decide when to inline by caching the size · 6dc0ae2d
      Chris Lattner authored
      of callees between executions.
      
      On eon, in release mode, this changes the inliner from taking 11.5712s
      to taking 2.2066s.  In debug mode, it went from taking 14.4148s to
      taking 7.0745s.  In release mode, this is a 24.7% speedup of gccas, in
      debug mode, it's a total speedup of 11.7%.
      
      This also makes it slightly more aggressive.  This could be because we
      are not judging the size of the functions quite as accurately as before.
      When we start looking at the performance of the generated code, this can
      be investigated further.
      
      llvm-svn: 8893
      6dc0ae2d
    • Chris Lattner's avatar
      Avoid doing pointless work. Amazingly, this makes us go faster. · 6aa34b0d
      Chris Lattner authored
      Running the inliner on 252.eon used to take 48.4763s, now it takes 14.4148s.
      
      In release mode, it went from taking 25.8741s to taking 11.5712s.
      
      This also fixes a FIXME.
      
      llvm-svn: 8890
      6aa34b0d
    • Chris Lattner's avatar
      This changes the PromoteMemToReg function to create "pruned" SSA form, not · c30f22f5
      Chris Lattner authored
      "minimal" SSA form (in other words, it doesn't insert dead PHIs).  This
      speeds up the mem2reg pass very significantly because it doesn't have to
      do a lot of frivolous work in many common cases.
      
      In the 252.eon function I have been playing with, this doesn't even insert
      the 120 PHI nodes that it used to which were trivially dead (in the process
      of promoting 356 alloca instructions overall).  This speeds up the mem2reg
      pass from 1.2459s to 0.1284s.  More significantly, the DCE pass used to take
      2.4138s to remove the 120 dead PHI nodes that mem2reg constructed, now it
      takes 0.0134s (which is the time to scan the function and decide that there
      is nothing dead).  So overall, on this one function, we speed things up a
      total of 3.5179s, which is a 24.8x speedup!  :)
      
      This change is tested by the Mem2Reg/2003-10-05-DeadPHIInsertion.ll test,
      which now passes.
      
      llvm-svn: 8884
      c30f22f5
  5. Oct 05, 2003
  6. Oct 02, 2003
  7. Sep 25, 2003
  8. Sep 23, 2003
  9. Sep 22, 2003
  10. Sep 20, 2003
Loading