Skip to content
  1. Sep 17, 2009
  2. Aug 23, 2009
  3. Aug 13, 2009
  4. Aug 04, 2009
  5. 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
  6. Aug 02, 2009
  7. Jul 28, 2009
  8. Jul 19, 2009
  9. Jul 16, 2009
  10. Jul 14, 2009
  11. 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
  12. 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
  13. Jun 24, 2009
  14. Jun 05, 2009
  15. May 01, 2009
  16. Apr 29, 2009
  17. Apr 15, 2009
  18. Apr 10, 2009
  19. Apr 09, 2009
  20. Mar 23, 2009
  21. Mar 19, 2009
  22. Feb 19, 2009
  23. Jan 28, 2009
  24. Dec 23, 2008
  25. Dec 18, 2008
  26. Dec 09, 2008
  27. Dec 05, 2008
  28. Nov 18, 2008
  29. Oct 10, 2008
  30. Oct 03, 2008
  31. Oct 02, 2008
  32. Sep 24, 2008
  33. Sep 17, 2008
    • Dale Johannesen's avatar
      Add a bit to mark operands of asm's that conflict · f8610ebe
      Dale Johannesen authored
      with an earlyclobber operand elsewhere.  Propagate
      this bit and the earlyclobber bit through SDISel.
      Change linear-scan RA not to allocate regs in a way 
      that conflicts with an earlyclobber.  See also comments.
      
      llvm-svn: 56290
      f8610ebe
  34. Sep 14, 2008
Loading