1. bdda37d Fix PR9883. Make sure all caches are invalidated when a live range is repaired. by Jakob Stoklund Olesen · 14 years ago
  2. bf4e10f Emit a proper error message when register allocators run out of registers. by Jakob Stoklund Olesen · 14 years ago
  3. f42b661 Update LiveDebugVariables after live range splitting. by Jakob Stoklund Olesen · 14 years ago
  4. 7d6b6a0 Gracefully handle invalid live ranges. Fix PR9831. by Jakob Stoklund Olesen · 14 years ago
  5. 66446c8 Use hysteresis for local live range splitting as well. by Jakob Stoklund Olesen · 14 years ago
  6. 9f4b893 Add a safe-guard against repeated splitting for some rare cases. by Jakob Stoklund Olesen · 14 years ago
  7. 2007298 Always compare the cost of region splitting with the cost of per-block splitting. by Jakob Stoklund Olesen · 14 years ago
  8. 5928046 Allow allocatable ranges from global live range splitting to be split again. by Jakob Stoklund Olesen · 14 years ago
  9. 6bfba2e Prefer cheap registers for busy live ranges. by Jakob Stoklund Olesen · 14 years ago
  10. fd1cced Stop using dead function. by Jakob Stoklund Olesen · 14 years ago
  11. 5db4289 SparseBitVector is SLOW. by Jakob Stoklund Olesen · 14 years ago
  12. fd5c513 Create new intervals for isolated blocks during region splitting. by Jakob Stoklund Olesen · 14 years ago
  13. 3f5bedf Speed up eviction by stopping collectInterferingVRegs as soon as the spill by Jakob Stoklund Olesen · 14 years ago
  14. f4afdfc Build the Hopfield network incrementally when splitting global live ranges. by Jakob Stoklund Olesen · 14 years ago
  15. 7b41fbe Extract SpillPlacement::addLinks for handling the special transparent blocks. by Jakob Stoklund Olesen · 14 years ago
  16. 9a54352 Also account for the spill code that would be inserted in live-through blocks with interference. by Jakob Stoklund Olesen · 14 years ago
  17. 1b400e8 Abort the constraint calculation early when all positive bias is lost. by Jakob Stoklund Olesen · 14 years ago
  18. 70d4370 Keep track of the number of positively biased nodes when adding constraints. by Jakob Stoklund Olesen · 14 years ago
  19. 9efa2a2 Break the spill placement algorithm into three parts: prepare, addConstraints, and finish. by Jakob Stoklund Olesen · 14 years ago
  20. 49460bc Oops. Scary. by Jakob Stoklund Olesen · 14 years ago
  21. db529a8 Analyze blocks with uses separately from live-through blocks without uses. by Jakob Stoklund Olesen · 14 years ago
  22. cfafc54 Run LiveDebugVariables in RegAllocBasic and RegAllocGreedy. by Jakob Stoklund Olesen · 14 years ago
  23. 612f780 Stop precomputing last split points, query the SplitAnalysis cache on demand. by Jakob Stoklund Olesen · 14 years ago
  24. 6c8afd7 Stop caching basic block index ranges now that SlotIndexes can keep up. by Jakob Stoklund Olesen · 14 years ago
  25. eda0fe8 Use InterferenceCache in RegAllocGreedy. by Jakob Stoklund Olesen · 14 years ago
  26. 5907d86 Add an InterferenceCache class for caching per-block interference ranges. by Jakob Stoklund Olesen · 14 years ago
  27. f22ca3f Treat clones the same as their origin. by Jakob Stoklund Olesen · 14 years ago
  28. 6094bd8 Recompute register class and hint for registers created during spilling. by Jakob Stoklund Olesen · 14 years ago
  29. eb29157 Drop interference reassignment in favor of eviction. by Jakob Stoklund Olesen · 14 years ago
  30. c1655e1 Add debug output. by Jakob Stoklund Olesen · 14 years ago
  31. 1d5b845 Add a LiveRangeEdit delegate callback before shrinking a live range. by Jakob Stoklund Olesen · 14 years ago
  32. c46570d Clarify debugging output. by Jakob Stoklund Olesen · 14 years ago
  33. 7792e98 Tell the register allocator about new unused virtual registers. by Jakob Stoklund Olesen · 14 years ago
  34. 47dbf6c Change the Spiller interface to take a LiveRangeEdit reference. by Jakob Stoklund Olesen · 14 years ago
  35. 38f6bd0 Make SpillIs an optional pointer. Avoid creating a bunch of temporary SmallVectors. by Jakob Stoklund Olesen · 14 years ago
  36. 92a55f4 Add a LiveRangeEdit::Delegate protocol. by Jakob Stoklund Olesen · 14 years ago
  37. 1973b3e Make the UselessRegs argument optional in the LiveRangeEdit constructor. by Jakob Stoklund Olesen · 14 years ago
  38. 874be74 Rework the global split cost calculation. by Jakob Stoklund Olesen · 14 years ago
  39. 96dcd95 Compute the constraints for global live range splitting from an interference pattern. by Jakob Stoklund Olesen · 14 years ago
  40. 8b6a933 Extract a method. No functional change. by Jakob Stoklund Olesen · 14 years ago
  41. d17924b Go back to comparing spill weights when deciding if interference can be evicted. by Jakob Stoklund Olesen · 14 years ago
  42. fb69810 Tweak debug output. No functional changes. by Jakob Stoklund Olesen · 14 years ago
  43. 40a42a2 Precompute block frequencies, pow() isn't free. by Jakob Stoklund Olesen · 14 years ago
  44. 36d6186 Cache basic block bounds instead of asking SlotIndexes::getMBBRange all the time. by Jakob Stoklund Olesen · 14 years ago
  45. bece06f Change the SplitEditor interface to a single instance can be shared for multiple splits. by Jakob Stoklund Olesen · 14 years ago
  46. 1841d14 Drop RAGreedy::trySpillInterferences(). by Jakob Stoklund Olesen · 14 years ago
  47. 22a1df6 Keep track of which stage produced a live range, and bypass earlier stages when revisiting. by Jakob Stoklund Olesen · 14 years ago
  48. 57f1e2c Try harder to get the hint by preferring to evict hint interference. by Jakob Stoklund Olesen · 14 years ago
  49. 107d366 Tweak the register allocator priority queue some more. by Jakob Stoklund Olesen · 14 years ago
  50. d2a5073 Keep track of how many times a live range has been dequeued, and prioritize new ranges. by Jakob Stoklund Olesen · 14 years ago
  51. 417df01 Fix a bug in determining if there is only a single interfering register. by Jakob Stoklund Olesen · 14 years ago
  52. 98c8141 Be more aggressive about evicting interference. by Jakob Stoklund Olesen · 14 years ago
  53. 98d9648 Change the RAGreedy register assignment order so large live ranges are allocated first. by Jakob Stoklund Olesen · 14 years ago
  54. 06c0f25 Add SplitKit::isOriginalEndpoint and use it to force live range splitting to terminate. by Jakob Stoklund Olesen · 14 years ago
  55. 1b847de Give SplitAnalysis a VRM member to access VirtRegMap::getOriginal(). by Jakob Stoklund Olesen · 14 years ago
  56. a2ebf60 Separate timers for local and global splitting. by Jakob Stoklund Olesen · 14 years ago
  57. ba05c01 Add VirtRegMap::rewrite() and use it in the new register allocators. by Jakob Stoklund Olesen · 14 years ago
  58. 0db841f Add basic register allocator statistics. by Jakob Stoklund Olesen · 14 years ago
  59. 034a80d Split local live ranges. by Jakob Stoklund Olesen · 14 years ago
  60. 23cd57c Simplify using the new leaveIntvBefore() by Jakob Stoklund Olesen · 15 years ago
  61. f0ac26c Move calcLiveBlockInfo() and the BlockInfo struct into SplitAnalysis. by Jakob Stoklund Olesen · 15 years ago
  62. 2710638 Evict a lighter single interference before attempting to split a live range. by Jakob Stoklund Olesen · 15 years ago
  63. 8a2bbde Fix one more case of splitting after the last split point. by Jakob Stoklund Olesen · 15 years ago
  64. a50c539 Reorganize interference code to check LastSplitPoint first. by Jakob Stoklund Olesen · 15 years ago
  65. d08d773 Also handle the situation where an indirect branch is the first (and last) by Jakob Stoklund Olesen · 15 years ago
  66. 8a61da8 Add LiveIntervals::addKillFlags() to recompute kill flags after register allocation. by Jakob Stoklund Olesen · 15 years ago
  67. 124e423 Trim debug spew by Jakob Stoklund Olesen · 15 years ago
  68. 5c716bd Add SplitEditor::overlapIntv() to create small ranges where both registers are live. by Jakob Stoklund Olesen · 15 years ago
  69. fe3f99f Be more strict about the first/last interference-free use. by Jakob Stoklund Olesen · 15 years ago
  70. de71095 Add assertions to verify that the new interval is clear of the interference. by Jakob Stoklund Olesen · 15 years ago
  71. 6393542 Be more accurate about live range splitting at the end of blocks. by Jakob Stoklund Olesen · 15 years ago
  72. 9b3d24b Verify that one of the ranges produced by region splitting is allocatable. by Jakob Stoklund Olesen · 15 years ago
  73. 4513987 Also compute interference intervals for blocks with no uses. by Jakob Stoklund Olesen · 15 years ago
  74. 2dfbb3e Ensure that the computed interference intervals actually overlap their basic blocks. by Jakob Stoklund Olesen · 15 years ago
  75. 207c868 Return live range end points from SplitEditor::enter*/leave*. by Jakob Stoklund Olesen · 15 years ago
  76. 0f43811 Reapply this. by Eric Christopher · 15 years ago
  77. 463a297 Temporarily revert 124765 in an attempt to find the cycle breaking bootstrap. by Eric Christopher · 15 years ago
  78. 2cd2111 Defer SplitKit value mapping until all defs are available. by Jakob Stoklund Olesen · 15 years ago
  79. c0de995 SplitKit requires that all defs are in place before calling useIntv(). by Jakob Stoklund Olesen · 15 years ago
  80. 92e6939 Don't accidentally leave small gaps in the live ranges when leaving the active by Jakob Stoklund Olesen · 15 years ago
  81. ccdb3fc Implement RAGreedy::splitAroundRegion and remove loop splitting. by Jakob Stoklund Olesen · 15 years ago
  82. b5fa933 Add RAGreedy methods for splitting live ranges around regions. by Jakob Stoklund Olesen · 15 years ago
  83. 2aea490 Pacify the compiler. BestWeight cannot in fact be used uninitialized by Duncan Sands · 15 years ago
  84. 770d42d When RegAllocGreedy decides to spill the interferences of the current register, by Jakob Stoklund Olesen · 15 years ago
  85. 87c6d25 Tweak debug spew. by Jakob Stoklund Olesen · 15 years ago
  86. bb1744e Fix GCC warning: by Nick Lewycky · 15 years ago
  87. 89cab93 Pass a Banner argument to the machine code verifier both from by Jakob Stoklund Olesen · 15 years ago
  88. af24964 Make the -verify-regalloc command line option available to base classes as by Jakob Stoklund Olesen · 15 years ago
  89. f428eb6 Enable loop splitting in RegAllocGreedy. by Jakob Stoklund Olesen · 15 years ago
  90. d0bb5e2 Start using SplitKit and MachineLoopRanges in RegAllocGreedy in preparation of by Jakob Stoklund Olesen · 15 years ago
  91. 257c556 Simplify RegAllocGreedy's use of register aliases. by Jakob Stoklund Olesen · 15 years ago
  92. 3ef9f3d Move debugging code entirely within DEBUG(). Silences an unused variable by Matt Beaumont-Gay · 15 years ago
  93. bfce678 Add LiveIntervalUnion print methods, RegAllocGreedy::trySplit debug spew. by Jakob Stoklund Olesen · 15 years ago
  94. d84de8c Q.seenAllInterferences() must be called after Q.collectInterferingVRegs(). by Jakob Stoklund Olesen · 15 years ago
  95. 885b328 Remove unused vector. by Jakob Stoklund Olesen · 15 years ago
  96. 46c83c8 Try reassigning all virtual register interferences, not just those with lower by Jakob Stoklund Olesen · 15 years ago
  97. b64d92e Add stub for RAGreedy::trySplit. by Jakob Stoklund Olesen · 15 years ago
  98. 533f58e Add named timer groups for the different stages of register allocation. by Jakob Stoklund Olesen · 15 years ago
  99. 4680dec Move MRI into RegAllocBase. Clean up debug output a bit. by Jakob Stoklund Olesen · 15 years ago
  100. a0bb037 Remove extraneous close parenthesis. Fix build breakage. by Nick Lewycky · 15 years ago