1. 74de8b1 There is no need to store the MBB along with the MI any more, we can now by Chris Lattner · 21 years ago
  2. 472405e Simplify the interface to LiveVariables::addVirtualRegister(Killed|Dead) by Chris Lattner · 21 years ago
  3. 8ea13c6 Two changes, both very significant: by Chris Lattner · 21 years ago
  4. 57eb15e See comments. The live intervals were not coming out of the spiller in sorted by Chris Lattner · 21 years ago
  5. 6097d13 remove the mbbi2mbbMap_, which was just keeping track of mbb order anyway. by Chris Lattner · 21 years ago
  6. e1b9536 It looks like physref->virtreg joining is working fine. Enable it by default by Chris Lattner · 21 years ago
  7. 80b27ce Fix typo. by Alkis Evlogimenos · 21 years ago
  8. 607baea Improve code comments. by Alkis Evlogimenos · 21 years ago
  9. 3877652 Disable coalescing. by Alkis Evlogimenos · 21 years ago
  10. 5de868b Do not crash when joining two intervals of registers of different by Alkis Evlogimenos · 21 years ago
  11. 230b4fb Revert patches 1.79 and 1.80 which had to do with dead MBB's. Now that they by Chris Lattner · 21 years ago
  12. 8490f9c Now that MachineFunction/MachineBasicBlock keep a mapping of blocks to ID #'s by Chris Lattner · 21 years ago
  13. 8ba9771 Start using MBB numbers directly instead of going through the live variables by Chris Lattner · 21 years ago
  14. 91a350d In line with the previous patch, do not assert out if analyzing a dead basic block. by Chris Lattner · 21 years ago
  15. 59850a8 Do not dereference end iterators. It hurts when you do that. by Chris Lattner · 21 years ago
  16. b140762 Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. by Tanya Lattner · 21 years ago
  17. 418da55 Rename Interval class to LiveInterval to avoid conflicting with the already by Chris Lattner · 21 years ago
  18. 9bcdcd1 Adjust to new TargetMachine interface by Chris Lattner · 21 years ago
  19. 6924063 Pull Interval class out of LiveIntervals. by Alkis Evlogimenos · 21 years ago
  20. 26f5a69 When spilling an register, introduce a new temporary for each of its by Alkis Evlogimenos · 21 years ago
  21. f717a05 Remove defs vector from live intervals. by Alkis Evlogimenos · 21 years ago
  22. feab248 Remove unneeded header by Alkis Evlogimenos · 21 years ago
  23. a19eede numeric_limits::infinity() apparently does not work on all systems. As a by Chris Lattner · 21 years ago
  24. 015959e Operate on the Machine CFG instead of on the LLVM CFG by Chris Lattner · 21 years ago
  25. 6e4d0d6 Fix bug introduced in previous commit. by Alkis Evlogimenos · 21 years ago
  26. 43b61f7 Correctly compute spill weights by Alkis Evlogimenos · 21 years ago
  27. e633352 Print def lists a bit more compactly by Alkis Evlogimenos · 21 years ago
  28. 9a8b490 Add definition list to each live interval. by Alkis Evlogimenos · 21 years ago
  29. 39354c9 Change MRegisterInfo::foldMemoryOperand to return the folded by Alkis Evlogimenos · 21 years ago
  30. 5f37502 Add the long awaited memory operand folding support for linear scan by Alkis Evlogimenos · 21 years ago
  31. 71e353e Uncomment assertions that register# != 0 on calls to by Alkis Evlogimenos · 21 years ago
  32. 98e17cf Move LiveIntervals.h up to be the first included header by Alkis Evlogimenos · 21 years ago
  33. a2f6a40 Move LiveIntervals.h to lib/CodeGen since it shouldn't be exposed to other parts of the compiler by Alkis Evlogimenos · 21 years ago
  34. 0f338a1 Print basic block boundaries in machine instruction debug output. by Alkis Evlogimenos · 21 years ago
  35. 7200c6b Abstract merging of ranges away from number of slots per instruction. by Alkis Evlogimenos · 21 years ago
  36. d6f6d1a Make 'fold' statistic's description the same in both allocators. by Alkis Evlogimenos · 21 years ago
  37. 007726c Some more statistics improvements. by Alkis Evlogimenos · 21 years ago
  38. df158c7 Disambiguate statistic descriptions. by Alkis Evlogimenos · 21 years ago
  39. cea4471 Rename statistic and add another one. by Alkis Evlogimenos · 21 years ago
  40. 39a0d5c Too many changes in one commit: by Alkis Evlogimenos · 21 years ago
  41. 23c114f Be more agressive when joining ranges. by Alkis Evlogimenos · 21 years ago
  42. 99d9923 Fix overly conservative spill interval computation. by Alkis Evlogimenos · 21 years ago
  43. 355a724 Fix spilled interval update. It was too conservative. by Alkis Evlogimenos · 21 years ago
  44. 843b160 Eliminate the use of spill (reserved) registers. by Alkis Evlogimenos · 22 years ago
  45. 6ab5c15 Use std::numeric_limits<float>::infinity() instead of by Alkis Evlogimenos · 22 years ago
  46. be766c7 Remove getAllocatedRegNum(). Use getReg() instead. by Alkis Evlogimenos · 22 years ago
  47. c0b9dc5 Change MachineBasicBlock's vector of MachineInstr pointers into an by Alkis Evlogimenos · 22 years ago
  48. 1cbe4d0 Do not use MachineOperand::isVirtualRegister either! by Chris Lattner · 22 years ago
  49. 0b8cb2b Change live interval representation. Machine instructions now have two by Alkis Evlogimenos · 22 years ago
  50. ad48cd6 We don't need to scan the blocks that we are live-in on every by Alkis Evlogimenos · 22 years ago
  51. b606eac Should be more careful. The previously applied change made all counts by Alkis Evlogimenos · 22 years ago
  52. b180e3e Change string for joined intervals. by Alkis Evlogimenos · 22 years ago
  53. b0b0eba Change xor to ^. by Alkis Evlogimenos · 22 years ago
  54. 676cf8c Missed one silly assert :-) by Alkis Evlogimenos · 22 years ago
  55. 01e74a2 Simplify joinIntervals() code. by Alkis Evlogimenos · 22 years ago
  56. 4f67b86 Use MRegisterInfo::isPhysicalRegister and MRegisterInfo::isVirtualRegister. by Alkis Evlogimenos · 22 years ago
  57. 52220f6 Apply final part of Chris' patch. by Alkis Evlogimenos · 22 years ago
  58. 02ba13c Be a little smarter on the way we handle physical register defs. by Alkis Evlogimenos · 22 years ago
  59. 08cec00 Merge safe parts from last night's buggy commit. These do not break by Alkis Evlogimenos · 22 years ago
  60. 97017de Optimize liveAt() and overlaps(). We now use a binary search instead by Alkis Evlogimenos · 22 years ago
  61. 4d46e1e Revert last night's changes as they broke some tests. Will remerge parts of the patch. by Alkis Evlogimenos · 22 years ago
  62. 32bdd4e Several performance enhancements and cleanups from Chris. by Alkis Evlogimenos · 22 years ago
  63. 79b0c3f Fix failing test cases with joined live intervals. It turns out that by Alkis Evlogimenos · 22 years ago
  64. e88280a Add option to join live intervals. Two intervals are joined if there by Alkis Evlogimenos · 22 years ago
  65. 1075ecd Revert previous change. The code was correct... by Alkis Evlogimenos · 22 years ago
  66. e1a2107 Fix incorrect negatives in LiveIntervals::Interval::liveAt(). by Alkis Evlogimenos · 22 years ago
  67. 1893a05 Add asserts to previous change. by Alkis Evlogimenos · 22 years ago
  68. f5f1689 Use a list instead of a vector to store intervals. This will be needed by Alkis Evlogimenos · 22 years ago
  69. d6e40a6 Properly update #intervals statistic. by Alkis Evlogimenos · 22 years ago
  70. 9739736 Fix bug in LiveIntervals::Interval::overlaps and by Alkis Evlogimenos · 22 years ago
  71. af25473 Fix miscomputation of live intervals. The catch is that registers can by Alkis Evlogimenos · 22 years ago
  72. 1a119e2 Remove allocatable registers vector. It is already provided by LiveVariables. by Alkis Evlogimenos · 22 years ago
  73. a3a6524 Cleanup debugging output. by Alkis Evlogimenos · 22 years ago
  74. 63841bc Fix output of live intervals to show correctly its closed, open by Alkis Evlogimenos · 22 years ago
  75. 19b6486 Correctly compute live variable information for physical registers by Alkis Evlogimenos · 22 years ago
  76. 80b378c Change implementation of LiveIntervals::overlap(). This results in a by Alkis Evlogimenos · 22 years ago
  77. 63caedf Remove simple coalescing. by Alkis Evlogimenos · 22 years ago
  78. 26bfc08 Add coalescing to register allocator. A hint is added to each interval by Alkis Evlogimenos · 22 years ago
  79. 7a40eaa Do a separate pass to compute spill weights because doing it inline by Alkis Evlogimenos · 22 years ago
  80. 056063e Fix crash when compiling twolf. by Alkis Evlogimenos · 22 years ago
  81. 6b4edba Change weight into a float so that we can take into account the by Alkis Evlogimenos · 22 years ago
  82. 169cfd0 Add support for inactive intervals. This effectively reuses registers by Alkis Evlogimenos · 22 years ago
  83. 4c08086 Remove TwoAddressInstruction from the public headers and add an ID by Alkis Evlogimenos · 22 years ago
  84. a71e05a Modify linear scan register allocator to use the two-address by Alkis Evlogimenos · 22 years ago
  85. 43f692f When a variable is killed and redifined in a basic block only one by Alkis Evlogimenos · 22 years ago
  86. dd2cc65 Handle multiple virtual register definitions gracefully. by Alkis Evlogimenos · 22 years ago
  87. f6f91bf Change preserve all claim to just preserve live variables and phielimination. by Alkis Evlogimenos · 22 years ago
  88. 4d7af65 Change interface of MachineOperand as follows: by Alkis Evlogimenos · 22 years ago
  89. 4c214d2 Ignore non-allocatable physical registers in live interval analysis. by Alkis Evlogimenos · 22 years ago
  90. 9435eda Handle explicit physical register defs. by Alkis Evlogimenos · 22 years ago
  91. b27ef24 Move operator<<(std::ostream&, const LiveInterval&) out of the header file. by Alkis Evlogimenos · 22 years ago
  92. 91ceae6 Sort live intervals by increasing start point. by Alkis Evlogimenos · 22 years ago
  93. ff0cbe1 Merging the linear scan register allocator in trunk. It currently passes most tests under test/Programs/SingleSource/Benchmarks/Shootout so development will continue on trunk. The allocator is not enabled by default. You will need to pass -regallo=linearscan to lli or llc to use it. by Alkis Evlogimenos · 22 years ago