Skip to content
  1. Dec 08, 2006
  2. Dec 07, 2006
  3. Dec 06, 2006
  4. Nov 28, 2006
  5. Nov 02, 2006
  6. 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
  7. Aug 27, 2006
  8. Aug 02, 2006
  9. Aug 01, 2006
  10. Jul 21, 2006
  11. Jul 20, 2006
  12. Jun 29, 2006
  13. May 04, 2006
  14. Jan 23, 2006
  15. Sep 30, 2005
  16. Apr 22, 2005
  17. Jan 23, 2005
  18. 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
  19. Aug 16, 2004
  20. Aug 15, 2004
  21. Jul 21, 2004
  22. Jun 25, 2004
  23. Jun 02, 2004
  24. Mar 16, 2004
  25. Feb 23, 2004
  26. Feb 19, 2004
  27. Feb 15, 2004
  28. Feb 13, 2004
  29. Feb 12, 2004
  30. Feb 10, 2004
  31. Dec 14, 2003
    • Alkis Evlogimenos's avatar
      Change interface of MachineOperand as follows: · aaba4639
      Alkis Evlogimenos authored
          a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
          b) add isUse(), isDef()
          c) rename opHiBits32() to isHiBits32(),
                    opLoBits32() to isLoBits32(),
                    opHiBits64() to isHiBits64(),
                    opLoBits64() to isLoBits64().
      
      This results to much more readable code, for example compare
      "op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
      very often in the code.
      
      llvm-svn: 10461
      aaba4639
  32. Nov 11, 2003
  33. Oct 20, 2003
  34. Oct 08, 2003
    • Alkis Evlogimenos's avatar
      Change MRegisterDesc::AliasSet, TargetInstrDescriptor::ImplicitDefs · 5f1f337d
      Alkis Evlogimenos authored
      and TargetInstrDescriptor::ImplicitUses to always point to a null
      terminated array and never be null. So there is no need to check for
      pointer validity when iterating over those sets. Code that looked
      like:
      
      if (const unsigned* AS = TID.ImplicitDefs) {
        for (int i = 0; AS[i]; ++i) {
          // use AS[i]
        }
      }
      
      was changed to:
      
      for (const unsigned* AS = TID.ImplicitDefs; *AS; ++AS) {
        // use *AS
      }
      
      llvm-svn: 8960
      5f1f337d
  35. Aug 18, 2003
  36. Aug 13, 2003
Loading