Skip to content
  1. Nov 02, 2009
  2. Oct 25, 2009
  3. Sep 22, 2009
  4. Sep 03, 2009
  5. Aug 07, 2009
  6. Jul 31, 2009
  7. Jul 30, 2009
  8. Jul 22, 2009
  9. Jul 07, 2009
  10. Jul 06, 2009
  11. May 06, 2009
  12. Apr 16, 2009
  13. Mar 06, 2009
  14. Nov 17, 2008
  15. Nov 08, 2008
  16. Nov 07, 2008
  17. Oct 27, 2008
    • Chris Lattner's avatar
      Rewrite all the 'PromoteLocallyUsedAlloca[s]' logic. With the power of · 59b56913
      Chris Lattner authored
      LargeBlockInfo, we can now dramatically simplify their implementation
      and speed them up at the same time.  Now the code has time proportional
      to the number of uses of the alloca, not the size of the block.
      
      This also eliminates code that tried to batch up different allocas which
      are used in the same blocks, and eliminates the 'retry list' logic which
      was baroque and no unneccesary.  In addition to being a speedup for crazy
      cases, this is also a nice cleanup:
      
      PromoteMemoryToRegister.cpp |  270 +++++++++++++++-----------------------------
       1 file changed, 96 insertions(+), 174 deletions(-)
      
      llvm-svn: 58229
      59b56913
    • Chris Lattner's avatar
      Add a new LargeBlockInfo helper, which is just a wrapper around · f594ecc4
      Chris Lattner authored
      a trivial dense map.  Use this in RewriteSingleStoreAlloca to
      avoid aggressively rescanning blocks over and over again.  This
      fixes PR2925, speeding up mem2reg on the testcase in that bug
      from 4.56s to 0.02s in a debug build on my machine.
      
      llvm-svn: 58227
      f594ecc4
  18. Apr 06, 2008
  19. Mar 13, 2008
  20. Feb 05, 2008
  21. Dec 29, 2007
  22. Nov 04, 2007
  23. Sep 17, 2007
  24. Aug 26, 2007
  25. Aug 05, 2007
    • Chris Lattner's avatar
      rewrite the code used to construct pruned SSA form with the IDF method. · edce70d2
      Chris Lattner authored
      In the old way, we computed and inserted phi nodes for the whole IDF of 
      the definitions of the alloca, then computed which ones were dead and
      removed them.
      
      In the new method, we first compute the region where the value is live,
      and use that information to only insert phi nodes that are live.  This
      eliminates the need to compute liveness later, and stops the algorithm
      from inserting a bunch of phis which it then later removes.
      
      This speeds up the testcase in PR1432 from 2.00s to 0.15s (14x) in a
      release build and 6.84s->0.50s (14x) in a debug build.
      
      llvm-svn: 40825
      edce70d2
  26. Aug 04, 2007
Loading