Skip to content
  1. Feb 10, 2006
  2. Feb 09, 2006
  3. Feb 08, 2006
  4. Feb 07, 2006
  5. Feb 05, 2006
  6. Feb 04, 2006
  7. Jan 26, 2006
  8. Jan 24, 2006
  9. Jan 23, 2006
  10. Jan 19, 2006
  11. Jan 17, 2006
  12. Jan 16, 2006
  13. Jan 14, 2006
  14. Jan 13, 2006
  15. Jan 11, 2006
  16. Jan 10, 2006
  17. Jan 07, 2006
  18. Jan 06, 2006
    • Chris Lattner's avatar
      silence some bogus gcc warnings on fenris · 330628a6
      Chris Lattner authored
      llvm-svn: 25130
      330628a6
    • Chris Lattner's avatar
      Enhance the shift-shift folding code to allow a no-op cast to occur in between · eb372a02
      Chris Lattner authored
      the shifts.
      
      This allows us to fold this (which is the 'integer add a constant' sequence
      from cozmic's scheme compmiler):
      
      int %x(uint %anf-temporary776) {
              %anf-temporary777 = shr uint %anf-temporary776, ubyte 1
              %anf-temporary800 = cast uint %anf-temporary777 to int
              %anf-temporary804 = shl int %anf-temporary800, ubyte 1
              %anf-temporary805 = add int %anf-temporary804, -2
              %anf-temporary806 = or int %anf-temporary805, 1
              ret int %anf-temporary806
      }
      
      into this:
      
      int %x(uint %anf-temporary776) {
              %anf-temporary776 = cast uint %anf-temporary776 to int
              %anf-temporary776.mask1 = add int %anf-temporary776, -2
              %anf-temporary805 = or int %anf-temporary776.mask1, 1
              ret int %anf-temporary805
      }
      
      note that instcombine already knew how to eliminate the AND that the two
      shifts fold into.  This is tested by InstCombine/shift.ll:test26
      
      -Chris
      
      llvm-svn: 25128
      eb372a02
    • Chris Lattner's avatar
      Simplify the code a bit more · b330939d
      Chris Lattner authored
      llvm-svn: 25126
      b330939d
Loading