Skip to content
  1. Sep 18, 2010
    • Lang Hames's avatar
      Added a separate class (PBQPBuilder) for PBQP Problem construction. This class... · cb1e1017
      Lang Hames authored
      Added a separate class (PBQPBuilder) for PBQP Problem construction. This class can be extended to support custom constraints.
      
      For now the allocator still uses the old (internal) construction mechanism by default. This will be phased out soon assuming 
      no issues with the builder system come up.
      
      To invoke the new construction mechanism just pass '-regalloc=pbqp -pbqp-builder' to llc. To provide custom constraints a
      Target just needs to extend PBQPBuilder and pass an instance of their derived builder to the RegAllocPBQP constructor.
      
      llvm-svn: 114272
      cb1e1017
  2. Sep 02, 2010
  3. Sep 01, 2010
  4. Aug 06, 2010
  5. Jul 20, 2010
  6. Jul 19, 2010
  7. Jul 18, 2010
  8. Jul 17, 2010
  9. Jul 16, 2010
  10. Jul 12, 2010
  11. May 15, 2010
  12. Feb 18, 2010
  13. Feb 17, 2010
  14. Feb 09, 2010
    • Lang Hames's avatar
      Fixed a bug in the PBQP allocator's findCoalesces method. · 48121948
      Lang Hames authored
      Previously spill registers, whose def indexes are not defined, would sometimes be improperly marked as coalescable with conflicting registers. The new findCoalesces routine conservatively assumes that any register with at least one undefined def is not coalescable with any register it interferes with.
      
      llvm-svn: 95636
      48121948
  15. Jan 26, 2010
    • Lang Hames's avatar
      New PBQP solver. · 090c7e82
      Lang Hames authored
      * Fixed a reduction bug which occasionally led to infinite-cost (invalid)
        register allocation solutions despite the existence finite-cost solutions.
      * Significantly reduced memory usage (>50% reduction).
      * Simplified a lot of the solver code.
      
      llvm-svn: 94514
      090c7e82
  16. Jan 05, 2010
  17. Dec 14, 2009
  18. Nov 15, 2009
  19. 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
  20. Oct 25, 2009
  21. Oct 03, 2009
  22. Sep 20, 2009
  23. Sep 06, 2009
  24. Sep 04, 2009
  25. 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
  26. Aug 20, 2009
  27. Aug 19, 2009
  28. Aug 12, 2009
  29. Aug 11, 2009
  30. Aug 10, 2009
  31. Aug 08, 2009
  32. Aug 07, 2009
  33. Aug 01, 2009
  34. 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
  35. Jun 17, 2009
Loading