Skip to content
  1. Jun 14, 2009
  2. May 04, 2009
  3. 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
  4. Mar 31, 2009
  5. Mar 14, 2009
  6. Mar 13, 2009
  7. Mar 11, 2009
  8. Mar 09, 2009
  9. Mar 08, 2009
  10. Feb 28, 2009
  11. Feb 26, 2009
  12. Feb 17, 2009
  13. Feb 13, 2009
  14. Feb 12, 2009
  15. Feb 11, 2009
    • Evan Cheng's avatar
      Implement PR3495: local spiller optimization. The local spiller can now keep... · a1968b0f
      Evan Cheng authored
      Implement PR3495: local spiller optimization. The local spiller can now keep availability information over BB boundaries. It visits BB's in depth first order. After visiting a BB if it find a successor which has a single predecessor it visits the successor next without clearing the availability information. This allows the successor to omit reloads or change them into copies.
      
      llvm-svn: 64298
      a1968b0f
  16. Feb 03, 2009
  17. Jan 20, 2009
  18. Dec 02, 2008
  19. Oct 17, 2008
  20. Oct 14, 2008
  21. Oct 06, 2008
  22. Oct 03, 2008
  23. Sep 11, 2008
  24. Sep 10, 2008
  25. Sep 04, 2008
  26. Aug 19, 2008
  27. Aug 05, 2008
  28. Jul 18, 2008
  29. Jul 08, 2008
    • Dan Gohman's avatar
      Pool-allocation for MachineInstrs, MachineBasicBlocks, and · 3b460303
      Dan Gohman authored
      MachineMemOperands. The pools are owned by MachineFunctions.
      
      This drastically reduces the number of calls to malloc/free made
      during the "Emit" phase of scheduling, as well as later phases
      in CodeGen. Combined with other changes, this speeds up the
      "instruction selection" phase of CodeGen by 10% in some cases.
      
      llvm-svn: 53212
      3b460303
  30. Jun 18, 2008
  31. Jun 16, 2008
  32. Jun 14, 2008
  33. Jun 04, 2008
Loading