Skip to content
  1. Jan 05, 2010
  2. Dec 14, 2009
  3. Nov 15, 2009
  4. Nov 04, 2009
    • Lang Hames's avatar
      The Indexes Patch. · 05fb9637
      Lang Hames authored
      This introduces a new pass, SlotIndexes, which is responsible for numbering
      instructions for register allocation (and other clients). SlotIndexes numbering
      is designed to match the existing scheme, so this patch should not cause any
      changes in the generated code.
      
      For consistency, and to avoid naming confusion, LiveIndex has been renamed
      SlotIndex.
      
      The processImplicitDefs method of the LiveIntervals analysis has been moved
      into its own pass so that it can be run prior to SlotIndexes. This was
      necessary to match the existing numbering scheme.
      
      llvm-svn: 85979
      05fb9637
  5. Oct 25, 2009
  6. Oct 03, 2009
  7. Sep 20, 2009
  8. Sep 06, 2009
  9. Sep 04, 2009
  10. Sep 03, 2009
    • Lang Hames's avatar
      · 0b3720b3
      Lang Hames authored
      Fixed a test that ensures the LocalRewriter does not attempt to
      avoid reloads by reusing clobbered registers.
      
      This was causing issues in 256.bzip2 when compiled with PIC for
      a while (starting at r78217), though the problem has since been masked. 
      
      llvm-svn: 80872
      0b3720b3
  11. Aug 20, 2009
  12. Aug 19, 2009
  13. Aug 12, 2009
  14. Aug 11, 2009
  15. Aug 10, 2009
  16. Aug 08, 2009
  17. Aug 07, 2009
  18. Aug 01, 2009
  19. Jul 25, 2009
    • Daniel Dunbar's avatar
      More migration to raw_ostream, the water has dried up around the iostream hole. · 0dd5e1ed
      Daniel Dunbar authored
       - Some clients which used DOUT have moved to DEBUG. We are deprecating the
         "magic" DOUT behavior which avoided calling printing functions when the
         statement was disabled. In addition to being unnecessary magic, it had the
         downside of leaving code in -Asserts builds, and of hiding potentially
         unnecessary computations.
      
      llvm-svn: 77019
      0dd5e1ed
  20. Jun 17, 2009
  21. Jun 14, 2009
  22. May 30, 2009
  23. May 18, 2009
  24. May 06, 2009
  25. 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
  26. Apr 22, 2009
    • Evan Cheng's avatar
      It has finally happened. Spiller is now using live interval info. · 1a99a5f5
      Evan Cheng authored
      This fixes a very subtle bug. vr defined by an implicit_def is allowed overlap with any register since it doesn't actually modify anything. However, if it's used as a two-address use, its live range can be extended and it can be spilled. The spiller must take care not to emit a reload for the vn number that's defined by the implicit_def. This is both a correctness and performance issue.
      
      llvm-svn: 69743
      1a99a5f5
  27. Mar 17, 2009
  28. Mar 13, 2009
  29. Mar 11, 2009
  30. Jan 20, 2009
  31. Jan 08, 2009
  32. Nov 19, 2008
  33. Nov 16, 2008
  34. Nov 14, 2008
  35. Oct 14, 2008
  36. Oct 03, 2008
Loading