Skip to content
  1. Sep 09, 2009
  2. Sep 08, 2009
    • Dan Gohman's avatar
      Re-apply r80926, with fixes: keep the domtree informed of new blocks · 3ddbc242
      Dan Gohman authored
      that get created during loop unswitching, and fix SplitBlockPredecessors'
      LCSSA updating code to create new PHIs instead of trying to just move
      existing ones.
      
      Also, optimize Loop::verifyLoop, since it gets called a lot. Use
      searches on a sorted list of blocks instead of calling the "contains"
      function, as is done in other places in the Loop class, since "contains"
      does a linear search. Also, don't call verifyLoop from LoopSimplify or
      LCSSA, as the PassManager is already calling verifyLoop as part of
      LoopInfo's verifyAnalysis.
      
      llvm-svn: 81221
      3ddbc242
  3. Sep 07, 2009
  4. Sep 06, 2009
  5. Sep 03, 2009
  6. Sep 01, 2009
  7. Aug 29, 2009
  8. Aug 27, 2009
  9. Aug 26, 2009
  10. Aug 25, 2009
  11. Aug 23, 2009
  12. Aug 19, 2009
  13. Aug 17, 2009
  14. Aug 16, 2009
    • Eli Friedman's avatar
      Fix for PR3016: detect the tricky case, where there are · d56fca47
      Eli Friedman authored
      unfoldable references to a PHI node in the block being folded, and disable
      the transformation in that case.  The correct transformation of such PHI
      nodes depends on whether BB dominates Succ, and dominance is expensive 
      to compute here.  (Alternatively, it's possible to check whether any 
      uses are live, but that's also essentially a dominance calculation. 
      Another alternative is to use reg2mem, but it probably isn't a good idea to
      use that in simplifycfg.)
      
      Also, remove some incorrect code from CanPropagatePredecessorsForPHIs 
      which is made unnecessary with this patch: it didn't consider the case 
      where a PHI node in BB has multiple uses.
      
      llvm-svn: 79174
      d56fca47
  15. Aug 15, 2009
  16. Aug 14, 2009
  17. Aug 13, 2009
  18. Aug 12, 2009
  19. Aug 11, 2009
  20. Aug 07, 2009
Loading