1. 92a55f4 Add a LiveRangeEdit::Delegate protocol. by Jakob Stoklund Olesen · 14 years ago
  2. 1973b3e Make the UselessRegs argument optional in the LiveRangeEdit constructor. by Jakob Stoklund Olesen · 14 years ago
  3. 874be74 Rework the global split cost calculation. by Jakob Stoklund Olesen · 14 years ago
  4. 96dcd95 Compute the constraints for global live range splitting from an interference pattern. by Jakob Stoklund Olesen · 14 years ago
  5. 8b6a933 Extract a method. No functional change. by Jakob Stoklund Olesen · 14 years ago
  6. d17924b Go back to comparing spill weights when deciding if interference can be evicted. by Jakob Stoklund Olesen · 14 years ago
  7. fb69810 Tweak debug output. No functional changes. by Jakob Stoklund Olesen · 14 years ago
  8. 40a42a2 Precompute block frequencies, pow() isn't free. by Jakob Stoklund Olesen · 14 years ago
  9. 36d6186 Cache basic block bounds instead of asking SlotIndexes::getMBBRange all the time. by Jakob Stoklund Olesen · 14 years ago
  10. bece06f Change the SplitEditor interface to a single instance can be shared for multiple splits. by Jakob Stoklund Olesen · 14 years ago
  11. 1841d14 Drop RAGreedy::trySpillInterferences(). by Jakob Stoklund Olesen · 14 years ago
  12. 22a1df6 Keep track of which stage produced a live range, and bypass earlier stages when revisiting. by Jakob Stoklund Olesen · 14 years ago
  13. 57f1e2c Try harder to get the hint by preferring to evict hint interference. by Jakob Stoklund Olesen · 14 years ago
  14. 107d366 Tweak the register allocator priority queue some more. by Jakob Stoklund Olesen · 14 years ago
  15. d2a5073 Keep track of how many times a live range has been dequeued, and prioritize new ranges. by Jakob Stoklund Olesen · 14 years ago
  16. 417df01 Fix a bug in determining if there is only a single interfering register. by Jakob Stoklund Olesen · 14 years ago
  17. 98c8141 Be more aggressive about evicting interference. by Jakob Stoklund Olesen · 14 years ago
  18. 98d9648 Change the RAGreedy register assignment order so large live ranges are allocated first. by Jakob Stoklund Olesen · 14 years ago
  19. 06c0f25 Add SplitKit::isOriginalEndpoint and use it to force live range splitting to terminate. by Jakob Stoklund Olesen · 14 years ago
  20. 1b847de Give SplitAnalysis a VRM member to access VirtRegMap::getOriginal(). by Jakob Stoklund Olesen · 14 years ago
  21. a2ebf60 Separate timers for local and global splitting. by Jakob Stoklund Olesen · 14 years ago
  22. ba05c01 Add VirtRegMap::rewrite() and use it in the new register allocators. by Jakob Stoklund Olesen · 14 years ago
  23. 0db841f Add basic register allocator statistics. by Jakob Stoklund Olesen · 14 years ago
  24. 034a80d Split local live ranges. by Jakob Stoklund Olesen · 14 years ago
  25. 23cd57c Simplify using the new leaveIntvBefore() by Jakob Stoklund Olesen · 15 years ago
  26. f0ac26c Move calcLiveBlockInfo() and the BlockInfo struct into SplitAnalysis. by Jakob Stoklund Olesen · 15 years ago
  27. 2710638 Evict a lighter single interference before attempting to split a live range. by Jakob Stoklund Olesen · 15 years ago
  28. 8a2bbde Fix one more case of splitting after the last split point. by Jakob Stoklund Olesen · 15 years ago
  29. a50c539 Reorganize interference code to check LastSplitPoint first. by Jakob Stoklund Olesen · 15 years ago
  30. d08d773 Also handle the situation where an indirect branch is the first (and last) by Jakob Stoklund Olesen · 15 years ago
  31. 8a61da8 Add LiveIntervals::addKillFlags() to recompute kill flags after register allocation. by Jakob Stoklund Olesen · 15 years ago
  32. 124e423 Trim debug spew by Jakob Stoklund Olesen · 15 years ago
  33. 5c716bd Add SplitEditor::overlapIntv() to create small ranges where both registers are live. by Jakob Stoklund Olesen · 15 years ago
  34. fe3f99f Be more strict about the first/last interference-free use. by Jakob Stoklund Olesen · 15 years ago
  35. de71095 Add assertions to verify that the new interval is clear of the interference. by Jakob Stoklund Olesen · 15 years ago
  36. 6393542 Be more accurate about live range splitting at the end of blocks. by Jakob Stoklund Olesen · 15 years ago
  37. 9b3d24b Verify that one of the ranges produced by region splitting is allocatable. by Jakob Stoklund Olesen · 15 years ago
  38. 4513987 Also compute interference intervals for blocks with no uses. by Jakob Stoklund Olesen · 15 years ago
  39. 2dfbb3e Ensure that the computed interference intervals actually overlap their basic blocks. by Jakob Stoklund Olesen · 15 years ago
  40. 207c868 Return live range end points from SplitEditor::enter*/leave*. by Jakob Stoklund Olesen · 15 years ago
  41. 0f43811 Reapply this. by Eric Christopher · 15 years ago
  42. 463a297 Temporarily revert 124765 in an attempt to find the cycle breaking bootstrap. by Eric Christopher · 15 years ago
  43. 2cd2111 Defer SplitKit value mapping until all defs are available. by Jakob Stoklund Olesen · 15 years ago
  44. c0de995 SplitKit requires that all defs are in place before calling useIntv(). by Jakob Stoklund Olesen · 15 years ago
  45. 92e6939 Don't accidentally leave small gaps in the live ranges when leaving the active by Jakob Stoklund Olesen · 15 years ago
  46. ccdb3fc Implement RAGreedy::splitAroundRegion and remove loop splitting. by Jakob Stoklund Olesen · 15 years ago
  47. b5fa933 Add RAGreedy methods for splitting live ranges around regions. by Jakob Stoklund Olesen · 15 years ago
  48. 2aea490 Pacify the compiler. BestWeight cannot in fact be used uninitialized by Duncan Sands · 15 years ago
  49. 770d42d When RegAllocGreedy decides to spill the interferences of the current register, by Jakob Stoklund Olesen · 15 years ago
  50. 87c6d25 Tweak debug spew. by Jakob Stoklund Olesen · 15 years ago
  51. bb1744e Fix GCC warning: by Nick Lewycky · 15 years ago
  52. 89cab93 Pass a Banner argument to the machine code verifier both from by Jakob Stoklund Olesen · 15 years ago
  53. af24964 Make the -verify-regalloc command line option available to base classes as by Jakob Stoklund Olesen · 15 years ago
  54. f428eb6 Enable loop splitting in RegAllocGreedy. by Jakob Stoklund Olesen · 15 years ago
  55. d0bb5e2 Start using SplitKit and MachineLoopRanges in RegAllocGreedy in preparation of by Jakob Stoklund Olesen · 15 years ago
  56. 257c556 Simplify RegAllocGreedy's use of register aliases. by Jakob Stoklund Olesen · 15 years ago
  57. 3ef9f3d Move debugging code entirely within DEBUG(). Silences an unused variable by Matt Beaumont-Gay · 15 years ago
  58. bfce678 Add LiveIntervalUnion print methods, RegAllocGreedy::trySplit debug spew. by Jakob Stoklund Olesen · 15 years ago
  59. d84de8c Q.seenAllInterferences() must be called after Q.collectInterferingVRegs(). by Jakob Stoklund Olesen · 15 years ago
  60. 885b328 Remove unused vector. by Jakob Stoklund Olesen · 15 years ago
  61. 46c83c8 Try reassigning all virtual register interferences, not just those with lower by Jakob Stoklund Olesen · 15 years ago
  62. b64d92e Add stub for RAGreedy::trySplit. by Jakob Stoklund Olesen · 15 years ago
  63. 533f58e Add named timer groups for the different stages of register allocation. by Jakob Stoklund Olesen · 15 years ago
  64. 4680dec Move MRI into RegAllocBase. Clean up debug output a bit. by Jakob Stoklund Olesen · 15 years ago
  65. a0bb037 Remove extraneous close parenthesis. Fix build breakage. by Nick Lewycky · 15 years ago
  66. 5a4308b Move variable that's unused in an NDEBUG build inside the DEBUG() macro, fixing by Nick Lewycky · 15 years ago
  67. f6dff84 Force the greedy register allocator to always use the inline spiller. by Jakob Stoklund Olesen · 15 years ago
  68. dd479e9 Use AllocationOrder in RegAllocGreedy, fix a bug in the hint calculation. by Jakob Stoklund Olesen · 15 years ago
  69. 6ce219e Fix miscompilation caused by trivial logic error in the reassignVReg() by Jakob Stoklund Olesen · 15 years ago
  70. ff092fa Remember to filter out reserved rergisters from the allocation order. by Jakob Stoklund Olesen · 15 years ago
  71. b853e6c Added register reassignment prototype to RAGreedy. It's a simple by Andrew Trick · 15 years ago
  72. 9b0c4f8 Properly deal with empty intervals when checking for interference. by Jakob Stoklund Olesen · 15 years ago
  73. 90c1d7d Implement very primitive hinting support in RegAllocGreedy. by Jakob Stoklund Olesen · 15 years ago
  74. d0bec3e Store (priority,regnum) pairs in the priority queue instead of providing an by Jakob Stoklund Olesen · 15 years ago
  75. 7539366 Trim includes. by Jakob Stoklund Olesen · 15 years ago
  76. cba2e06 Stub out RegAllocGreedy. by Jakob Stoklund Olesen · 15 years ago