Skip to content
  1. Sep 01, 2010
  2. Aug 23, 2010
  3. Aug 06, 2010
  4. Jul 26, 2010
    • Dan Gohman's avatar
      Remove LCSSA's bogus dependence on LoopSimplify and LoopSimplify's bogus · 0141c13b
      Dan Gohman authored
      dependence on DominanceFrontier. Instead, add an explicit DominanceFrontier
      pass in StandardPasses.h to ensure that it gets scheduled at the right
      time.
      
      Declare that loop unrolling preserves ScalarEvolution, and shuffle some
      getAnalysisUsages.
      
      This eliminates one LoopSimplify and one LCCSA run in the standard
      compile opts sequence.
      
      llvm-svn: 109413
      0141c13b
  5. Jul 16, 2010
  6. Jul 09, 2010
  7. Mar 10, 2010
  8. Nov 09, 2009
  9. Nov 05, 2009
  10. Oct 11, 2009
  11. Oct 10, 2009
  12. Sep 28, 2009
  13. 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
  14. Sep 06, 2009
  15. Sep 03, 2009
  16. Jul 31, 2009
  17. Jul 22, 2009
  18. Jul 06, 2009
  19. Jun 26, 2009
  20. Apr 22, 2009
  21. Jan 23, 2009
    • Gabor Greif's avatar
      Simplify the logic of getting hold of a PHI predecessor block. · eb61fcf2
      Gabor Greif authored
      There is now a direct way from value-use-iterator to incoming block in PHINode's API.
      This way we avoid the iterator->index->iterator trip, and especially the costly
      getOperandNo() invocation. Additionally there is now an assertion that the iterator
      really refers to one of the PHI's Uses.
      
      llvm-svn: 62869
      eb61fcf2
  22. Oct 23, 2008
    • Daniel Dunbar's avatar
      Change create*Pass factory functions to return Pass* instead of · 7f39e2d8
      Daniel Dunbar authored
      LoopPass*.
       - Although less precise, this means they can be used in clients
         without RTTI (who would otherwise need to include LoopPass.h, which
         eventually includes things using dynamic_cast). This was the
         simplest solution that presented itself, but I am happy to use a
         better one if available.
      
      llvm-svn: 58010
      7f39e2d8
  23. Sep 04, 2008
  24. Jul 23, 2008
    • Dan Gohman's avatar
      Enable first-class aggregates support. · fa1211f6
      Dan Gohman authored
      Remove the GetResultInst instruction. It is still accepted in LLVM assembly
      and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove
      support for return instructions with multiple values. These are auto-upgraded
      to use InsertValueInst instructions.
      
      The IRBuilder still accepts multiple-value returns, and auto-upgrades them
      to InsertValueInst instructions.
      
      llvm-svn: 53941
      fa1211f6
  25. Jun 03, 2008
  26. May 30, 2008
  27. May 26, 2008
  28. May 23, 2008
  29. May 15, 2008
  30. May 13, 2008
  31. May 03, 2008
  32. Apr 06, 2008
  33. Feb 20, 2008
  34. Dec 29, 2007
Loading