Skip to content
  1. Dec 01, 2006
  2. Nov 28, 2006
  3. Nov 09, 2006
  4. Nov 02, 2006
  5. Sep 05, 2006
    • Chris Lattner's avatar
      Fix a long-standing wart in the code generator: two-address instruction lowering · 13a5dcdd
      Chris Lattner authored
      actually *removes* one of the operands, instead of just assigning both operands
      the same register.  This make reasoning about instructions unnecessarily complex,
      because you need to know if you are before or after register allocation to match
      up operand #'s with the target description file.
      
      Changing this also gets rid of a bunch of hacky code in various places.
      
      This patch also includes changes to fold loads into cmp/test instructions in
      the X86 backend, along with a significant simplification to the X86 spill
      folding code.
      
      llvm-svn: 30108
      13a5dcdd
  6. Aug 27, 2006
  7. Jul 20, 2006
  8. Jun 29, 2006
  9. May 24, 2006
  10. May 04, 2006
  11. Jan 23, 2006
  12. Oct 26, 2005
  13. Apr 22, 2005
  14. Jan 19, 2005
  15. Jan 02, 2005
    • Chris Lattner's avatar
      Make the 2-address instruction lowering pass smarter in two ways: · 9590870a
      Chris Lattner authored
      1. If we are two-addressing a commutable instruction and the LHS is not the
         last use of the variable, see if the instruction is the last use of the
         RHS.  If so, commute the instruction, allowing us to avoid a
         register-register copy in many cases for common instructions like ADD, OR,
         AND, etc on X86.
      2. If #1 doesn't hold, and if this is an instruction that also existing in
         3-address form, promote the instruction to a 3-address instruction to
         avoid the register-register copy.  We can do this for several common
         instructions in X86, including ADDrr, INC, DEC, etc.
      
      This patch implements test/Regression/CodeGen/X86/commute-two-addr.ll,
      overlap-add.ll, and overlap-shift.ll when I check in the X86 support for it.
      
      llvm-svn: 19245
      9590870a
  16. Sep 02, 2004
    • Reid Spencer's avatar
      Changes For Bug 352 · 7c16caa3
      Reid Spencer authored
      Move include/Config and include/Support into include/llvm/Config,
      include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
      public header files must be under include/llvm/.
      
      llvm-svn: 16137
      7c16caa3
  17. Aug 16, 2004
  18. Jul 22, 2004
  19. Jul 21, 2004
  20. Jul 19, 2004
  21. Jun 25, 2004
  22. Jun 02, 2004
  23. Feb 18, 2004
  24. Feb 15, 2004
  25. Feb 14, 2004
  26. Feb 13, 2004
  27. Feb 12, 2004
  28. Feb 05, 2004
  29. Feb 04, 2004
  30. Feb 03, 2004
  31. Feb 02, 2004
  32. Jan 31, 2004
  33. Jan 11, 2004
    • Alkis Evlogimenos's avatar
      Make LiveVariables::HandlePhysRegUse and · 52a714b4
      Alkis Evlogimenos authored
      LiveVariables::HandlePhysRegDef private they use information that is
      not in memory when LiveVariables finishes the analysis.
      
      Also update the TwoAddressInstructionPass to not use this interface.
      
      llvm-svn: 10755
      52a714b4
  34. Jan 05, 2004
Loading