Skip to content
  1. Apr 09, 2009
    • Bob Wilson's avatar
      Fix pr3954. The register scavenger asserts for inline assembly with · 51856173
      Bob Wilson authored
      register destinations that are tied to source operands.  The
      TargetInstrDescr::findTiedToSrcOperand method silently fails for inline
      assembly.  The existing MachineInstr::isRegReDefinedByTwoAddr was very
      close to doing what is needed, so this revision makes a few changes to
      that method and also renames it to isRegTiedToUseOperand (for consistency
      with the very similar isRegTiedToDefOperand and because it handles both
      two-address instructions and inline assembly with tied registers).
      
      llvm-svn: 68714
      51856173
  2. Dec 23, 2008
  3. Oct 14, 2008
  4. Oct 03, 2008
  5. Sep 04, 2008
  6. Jul 09, 2008
  7. Mar 22, 2008
  8. Feb 10, 2008
  9. Jan 07, 2008
    • Chris Lattner's avatar
      rename TargetInstrDescriptor -> TargetInstrDesc. · 03ad8850
      Chris Lattner authored
      Make MachineInstr::getDesc return a reference instead
      of a pointer, since it can never be null.
      
      llvm-svn: 45695
      03ad8850
    • Chris Lattner's avatar
      Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects · a98c679d
      Chris Lattner authored
      that it is cheap and efficient to get.
      
      Move a variety of predicates from TargetInstrInfo into 
      TargetInstrDescriptor, which makes it much easier to query a predicate
      when you don't have TII around.  Now you can use MI->getDesc()->isBranch()
      instead of going through TII, and this is much more efficient anyway. Not
      all of the predicates have been moved over yet.
      
      Update old code that used MI->getInstrDescriptor()->Flags to use the
      new predicates in many places.
      
      llvm-svn: 45674
      a98c679d
  10. Jan 01, 2008
  11. Dec 31, 2007
    • Chris Lattner's avatar
      Rename SSARegMap -> MachineRegisterInfo in keeping with the idea · a10fff51
      Chris Lattner authored
      that "machine" classes are used to represent the current state of
      the code being compiled.  Given this expanded name, we can start 
      moving other stuff into it.  For now, move the UsedPhysRegs and
      LiveIn/LoveOuts vectors from MachineFunction into it.
      
      Update all the clients to match.
      
      This also reduces some needless #includes, such as MachineModuleInfo
      from MachineFunction.
      
      llvm-svn: 45467
      a10fff51
  12. Dec 29, 2007
  13. Dec 05, 2007
  14. May 03, 2007
  15. May 02, 2007
  16. May 01, 2007
  17. Apr 26, 2007
  18. Dec 19, 2006
  19. Dec 08, 2006
  20. Dec 07, 2006
  21. Dec 06, 2006
  22. Nov 28, 2006
  23. Nov 02, 2006
  24. 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
  25. Aug 27, 2006
  26. Aug 02, 2006
  27. Aug 01, 2006
  28. Jul 21, 2006
  29. Jul 20, 2006
  30. Jun 29, 2006
  31. May 04, 2006
  32. Jan 23, 2006
  33. Sep 30, 2005
  34. Apr 22, 2005
Loading