Skip to content
  1. May 03, 2009
    • Evan Cheng's avatar
      In some rare cases, the register allocator can spill registers but end up not... · 210fc62a
      Evan Cheng authored
      In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However,  reloads and restores might be folded into uses / defs and freed registers might not be used at all.
      
      VirtRegMap keeps track of allocations so it knows what's not used. As a horrible hack, the stack coloring can color spill slots with *free* registers. That is, it replace reload and spills with copies from and to the free register. It unfold instructions that load and store the spill slot and replace them with register using variants.
      
      Not yet enabled. This is part 1. More coming.
      
      llvm-svn: 70787
      210fc62a
  2. 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
  3. Mar 31, 2009
  4. Mar 14, 2009
  5. Mar 05, 2009
  6. Mar 04, 2009
  7. Feb 20, 2009
  8. Feb 06, 2009
  9. Feb 05, 2009
  10. Feb 02, 2009
  11. Feb 01, 2009
  12. Jan 29, 2009
  13. Jan 27, 2009
  14. Jan 26, 2009
  15. Jan 24, 2009
  16. Jan 23, 2009
  17. Jan 21, 2009
  18. Jan 20, 2009
  19. Jan 12, 2009
  20. Jan 06, 2009
  21. Jan 05, 2009
  22. Dec 31, 2008
  23. Dec 29, 2008
  24. Dec 28, 2008
  25. Dec 18, 2008
  26. Dec 17, 2008
Loading