Skip to content
  1. Feb 06, 2013
  2. Feb 05, 2013
  3. Feb 04, 2013
    • Benjamin Kramer's avatar
      SelectionDAG: Teach FoldConstantArithmetic how to deal with vectors. · 548ffa27
      Benjamin Kramer authored
      This required disabling a PowerPC optimization that did the following:
      input:
      x = BUILD_VECTOR <i32 16, i32 16, i32 16, i32 16>
      lowered to:
      tmp = BUILD_VECTOR <i32 8, i32 8, i32 8, i32 8>
      x = ADD tmp, tmp
      
      The add now gets folded immediately and we're back at the BUILD_VECTOR we
      started from. I don't see a way to fix this currently so I left it disabled
      for now.
      
      Fix some trivially foldable X86 tests too.
      
      llvm-svn: 174325
      548ffa27
  4. Feb 02, 2013
  5. Feb 01, 2013
  6. Jan 31, 2013
  7. Jan 29, 2013
  8. Jan 28, 2013
    • Bill Schmidt's avatar
      This patch addresses bug 15031. · 2e4ae4e1
      Bill Schmidt authored
      The common code in the post-RA scheduler to break anti-dependencies on the
      critical path contained a flaw.  In the reported case, an anti-dependency
      between the overlapping registers %X4 and %R4 exists:
      
      	%X29<def> = OR8 %X4, %X4
      	%R4<def>, %X3<def,dead,tied3> = LBZU 1, %X3<kill,tied1>
      
      The unpatched code breaks the dependency by replacing %R4 and its uses
      with %R3, the first register on the available list.  However, %R3 and
      %X3 overlap, so this creates two overlapping definitions on the same
      instruction.
      
      The fix is straightforward, preventing selection of a register that
      overlaps any other defined register on the same instruction.
      
      The test case is reduced from the bug report, and verifies that we no
      longer produce "lbzu 3, 1(3)" when breaking this anti-dependency.
      
      llvm-svn: 173706
      2e4ae4e1
    • Eric Christopher's avatar
      Fix comment. · 59cc0711
      Eric Christopher authored
      llvm-svn: 173698
      59cc0711
    • Michael Gottesman's avatar
      Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation... · 79d8d812
      Michael Gottesman authored
      Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer.
      
      llvm-svn: 173647
      79d8d812
  9. Jan 27, 2013
  10. Jan 25, 2013
Loading