Skip to content
  1. Sep 06, 2010
    • Chris Lattner's avatar
      Teach loop rotate to hoist trivially invariant instructions · b01c24a9
      Chris Lattner authored
      in the duplicated block instead of duplicating them.  
      
      Duplicating them into the end of the loop and the preheader 
      means that we got a phi node in the header of the loop, 
      which prevented LICM from hoisting them.  GVN would
      usually come around later and merge the duplicated 
      instructions so we'd get reasonable output... except that
      anything dependent on the shoulda-been-hoisted value can't
      be hoisted.  In PR5319 (which this fixes), a memory value
      didn't get promoted.
      
      llvm-svn: 113134
      b01c24a9
  2. Sep 02, 2010
    • Duncan Sands's avatar
      Reapply commit 112699, speculatively reverted by echristo, since · 6778149f
      Duncan Sands authored
      I'm sure it is harmless.  Original commit message:
      If PrototypeValue is erased in the middle of using the SSAUpdator
      then the SSAUpdator may access freed memory.  Instead, simply pass
      in the type and name explicitly, which is all that was used anyway.
      
      llvm-svn: 112810
      6778149f
  3. Sep 01, 2010
  4. Aug 17, 2010
  5. Aug 06, 2010
  6. Jul 22, 2010
  7. Jul 16, 2010
  8. Jun 22, 2010
  9. Nov 05, 2009
  10. Oct 31, 2009
  11. Oct 26, 2009
  12. Oct 25, 2009
  13. Sep 27, 2009
  14. Sep 09, 2009
    • Dan Gohman's avatar
      Fix SplitCriticalEdge to properly update LCSSA form when splitting a · ec4557f3
      Dan Gohman authored
      loop exit edge -- new PHIs may be needed not only for the additional
      splits that are made to preserve LoopSimplify form, but also for the
      original split. Factor out the code that inserts new PHIs so that it
      can be used for both. Remove LoopRotation.cpp's code for manually
      updating LCSSA form, as it is now redundant. This fixes PR4934.
      
      llvm-svn: 81363
      ec4557f3
  15. Sep 02, 2009
  16. Aug 13, 2009
  17. Aug 07, 2009
  18. Jul 22, 2009
  19. Jul 10, 2009
  20. Jun 27, 2009
  21. Jun 26, 2009
  22. Jun 25, 2009
  23. Mar 06, 2009
  24. Jan 28, 2009
  25. Jan 26, 2009
  26. 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
  27. Sep 04, 2008
  28. 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
  29. Jun 19, 2008
  30. May 23, 2008
  31. May 15, 2008
Loading