Skip to content
  1. Apr 05, 2012
  2. Apr 04, 2012
  3. Apr 03, 2012
  4. Apr 02, 2012
  5. Apr 01, 2012
    • Nadav Rotem's avatar
      This commit contains a few changes that had to go in together. · b0783508
      Nadav Rotem authored
      1. Simplify xor/and/or (bitcast(A), bitcast(B)) -> bitcast(op (A,B))
         (and also scalar_to_vector).
      
      2. Xor/and/or are indifferent to the swizzle operation (shuffle of one src).
         Simplify xor/and/or (shuff(A), shuff(B)) -> shuff(op (A, B))
      
      3. Optimize swizzles of shuffles:  shuff(shuff(x, y), undef) -> shuff(x, y).
      
      4. Fix an X86ISelLowering optimization which was very bitcast-sensitive.
      
      Code which was previously compiled to this:
      
      movd    (%rsi), %xmm0
      movdqa  .LCPI0_0(%rip), %xmm2
      pshufb  %xmm2, %xmm0
      movd    (%rdi), %xmm1
      pshufb  %xmm2, %xmm1
      pxor    %xmm0, %xmm1
      pshufb  .LCPI0_1(%rip), %xmm1
      movd    %xmm1, (%rdi)
      ret
      
      Now compiles to this:
      
      movl    (%rsi), %eax
      xorl    %eax, (%rdi)
      ret
      
      llvm-svn: 153848
      b0783508
    • Lang Hames's avatar
      Fix typo. · 652f2127
      Lang Hames authored
      llvm-svn: 153846
      652f2127
    • Andrew Trick's avatar
      misched: Add finalizeScheduler to complete the target interface. · 779b32a4
      Andrew Trick authored
      llvm-svn: 153827
      779b32a4
  6. Mar 31, 2012
  7. Mar 30, 2012
  8. Mar 29, 2012
  9. Mar 28, 2012
  10. Mar 27, 2012
Loading