Skip to content
  1. Sep 23, 2009
    • Dan Gohman's avatar
      Give MachineMemOperand an operator<<, factoring out code from · c0353bff
      Dan Gohman authored
      two different places for printing MachineMemOperands.
      
      Drop the virtual from Value::dump and instead give Value a
      protected virtual hook that can be overridden by subclasses
      to implement custom printing. This lets printing be more
      consistent, and simplifies printing of PseudoSourceValue
      values.
      
      llvm-svn: 82599
      c0353bff
  2. Sep 21, 2009
  3. Sep 17, 2009
  4. Aug 23, 2009
  5. Aug 13, 2009
  6. Aug 04, 2009
  7. Aug 03, 2009
    • Jakob Stoklund Olesen's avatar
      Fix Bug 4657: register scavenger asserts with subreg lowering · 5d8ace09
      Jakob Stoklund Olesen authored
      When LowerSubregsInstructionPass::LowerInsert eliminates an INSERT_SUBREG
      instriction because it is an identity copy, make sure that the same registers
      are alive before and after the elimination.
      
      When the super-register is marked <undef> this requires inserting an
      IMPLICIT_DEF instruction to make sure the super register is live.
      
      Fix a related bug where a kill flag on the inserted sub-register was not transferred properly.
      
      Finally, clear the undef flag in MachineInstr::addRegisterKilled. Undef implies dead and kill implies live, so they cant both be valid.
      
      llvm-svn: 77989
      5d8ace09
  8. Aug 02, 2009
  9. Jul 28, 2009
  10. Jul 19, 2009
  11. Jul 16, 2009
  12. Jul 14, 2009
  13. Jul 11, 2009
    • Torok Edwin's avatar
      assert(0) -> LLVM_UNREACHABLE. · 56d06597
      Torok Edwin authored
      Make llvm_unreachable take an optional string, thus moving the cerr<< out of
      line.
      LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
      NDEBUG builds.
      
      llvm-svn: 75379
      56d06597
  14. Jun 30, 2009
    • Evan Cheng's avatar
      Add a bit IsUndef to MachineOperand. This indicates the def / use register... · 0dc101b8
      Evan Cheng authored
      Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them.
      
      The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing.
      
      This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def.
      
      llvm-svn: 74518
      0dc101b8
  15. Jun 24, 2009
  16. Jun 05, 2009
  17. May 01, 2009
  18. Apr 29, 2009
  19. Apr 15, 2009
  20. Apr 10, 2009
  21. Apr 09, 2009
  22. Mar 23, 2009
  23. Mar 19, 2009
  24. Feb 19, 2009
  25. Jan 28, 2009
  26. Dec 23, 2008
  27. Dec 18, 2008
  28. Dec 09, 2008
  29. Dec 05, 2008
  30. Nov 18, 2008
  31. Oct 10, 2008
  32. Oct 03, 2008
  33. Oct 02, 2008
  34. Sep 24, 2008
Loading