Skip to content
  1. Feb 16, 2011
  2. Feb 15, 2011
  3. Feb 14, 2011
  4. Feb 13, 2011
    • Chris Lattner's avatar
      Enhance ComputeMaskedBits to know that aligned frameindexes · 46c01a30
      Chris Lattner authored
      have their low bits set to zero.  This allows us to optimize
      out explicit stack alignment code like in stack-align.ll:test4 when
      it is redundant.
      
      Doing this causes the code generator to start turning FI+cst into
      FI|cst all over the place, which is general goodness (that is the
      canonical form) except that various pieces of the code generator
      don't handle OR aggressively.  Fix this by introducing a new
      SelectionDAG::isBaseWithConstantOffset predicate, and using it
      in places that are looking for ADD(X,CST).  The ARM backend in
      particular was missing a lot of addressing mode folding opportunities
      around OR.
      
      llvm-svn: 125470
      46c01a30
    • Chris Lattner's avatar
      when legalizing extremely wide shifts, make sure that · d5f0b114
      Chris Lattner authored
      the shift amounts are in a suitably wide type so that
      we don't generate out of range constant shift amounts.
      
      This fixes PR9028.
      
      llvm-svn: 125458
      d5f0b114
  5. Feb 10, 2011
  6. Feb 07, 2011
  7. Feb 05, 2011
  8. Feb 04, 2011
  9. Feb 03, 2011
  10. Jan 31, 2011
  11. Jan 30, 2011
    • Benjamin Kramer's avatar
      Teach DAGCombine to fold fold (sra (trunc (sr x, c1)), c2) -> (trunc (sra x,... · 946e1522
      Benjamin Kramer authored
      Teach DAGCombine to fold fold (sra (trunc (sr x, c1)), c2) -> (trunc (sra x, c1+c2) when c1 equals the amount of bits that are truncated off.
      
      This happens all the time when a smul is promoted to a larger type.
      
      On x86-64 we now compile "int test(int x) { return x/10; }" into
        movslq  %edi, %rax
        imulq $1717986919, %rax, %rax
        movq  %rax, %rcx
        shrq  $63, %rcx
        sarq  $34, %rax <- used to be "shrq $32, %rax; sarl $2, %eax"
        addl  %ecx, %eax
      
      This fires 96 times in gcc.c on x86-64.
      
      llvm-svn: 124559
      946e1522
  12. Jan 29, 2011
  13. Jan 28, 2011
  14. Jan 26, 2011
  15. Jan 25, 2011
    • Devang Patel's avatar
      · 70f8e596
      Devang Patel authored
      Resolve DanglingDbgValue of PHI nodes where the use follows dbg.value intrinisic.
      
      llvm-svn: 124203
      70f8e596
  16. Jan 24, 2011
  17. Jan 20, 2011
  18. Jan 17, 2011
  19. Jan 16, 2011
  20. Jan 14, 2011
Loading