Skip to content
  1. Apr 06, 2004
  2. Apr 05, 2004
  3. Apr 02, 2004
  4. Apr 01, 2004
  5. Mar 31, 2004
  6. Mar 30, 2004
  7. Mar 18, 2004
  8. Mar 15, 2004
  9. Mar 14, 2004
  10. Mar 13, 2004
  11. Mar 12, 2004
  12. Mar 11, 2004
  13. Mar 09, 2004
  14. Mar 08, 2004
    • Chris Lattner's avatar
      Implement folding explicit load instructions into binary operations. For a · 653e662a
      Chris Lattner authored
      testcase like this:
      
      int %test(int* %P, int %A) {
              %Pv = load int* %P
              %B = add int %A, %Pv
              ret int %B
      }
      
      We now generate:
      test:
              mov %ECX, DWORD PTR [%ESP + 4]
              mov %EAX, DWORD PTR [%ESP + 8]
              add %EAX, DWORD PTR [%ECX]
              ret
      
      Instead of:
      test:
              mov %EAX, DWORD PTR [%ESP + 4]
              mov %ECX, DWORD PTR [%ESP + 8]
              mov %EAX, DWORD PTR [%EAX]
              add %EAX, %ECX
              ret
      
      ... saving one instruction, and often a register.  Note that there are a lot
      of other instructions that could use this, but they aren't handled.  I'm not
      really interested in adding them, but mul/div and all of the FP instructions
      could be supported as well if someone wanted to add them.
      
      llvm-svn: 12204
      653e662a
    • Chris Lattner's avatar
      Rearrange and refactor some code. No functionality changes. · 1dd6afe6
      Chris Lattner authored
      llvm-svn: 12203
      1dd6afe6
  15. Mar 07, 2004
Loading