1. 4350eb8 Add TargetInstrInfo::isSafeToMoveRegisterClassDefs. It returns true if it's safe to move an instruction which defines a value in the register class. Replace pre-splitting specific IgnoreRegisterClassBarriers with this new hook. by Evan Cheng · 17 years ago
  2. 5734c94 Pre-alloc splitting needs to be more careful to avoid inserting spills/restores by Owen Anderson · 17 years ago
  3. 5b93f6f MergeValueInto is too smart: it might choose to do the merge the opposite direction. by Owen Anderson · 17 years ago
  4. 19a7258 Refactor PerformPHIConstruction, no functionality changes. by Evan Cheng · 17 years ago
  5. 4a6d13e Fix test failures causes by my previous commit. by Owen Anderson · 17 years ago
  6. 5caedc0 Fix an issue in PHI construction that was exposed by GCC 4.2 producing a different set iteration order for the reg_iterator. by Owen Anderson · 17 years ago
  7. 3ef4549 Correct the algorithms for choosing spill and restore points so that we don't try to insert loads/stores between call frame setup and the actual call. by Owen Anderson · 17 years ago
  8. c0f3a03 Fix an issue where restores could be inserted after a terminator instruction, by Owen Anderson · 17 years ago
  9. 4bfc209 Comments are good. :-) by Owen Anderson · 17 years ago
  10. 45e6855 Add support for aggressive load-use-store folding. This takes care of the by Owen Anderson · 17 years ago
  11. 26562de Make the pre-split-limit option more useful by using a per-function counter. by Owen Anderson · 17 years ago
  12. b4b8436 Reapply r63025 and r63026, with fixes for the failing testcases. by Owen Anderson · 17 years ago
  13. 826f093 Also revert r63206 by Bill Wendling · 17 years ago
  14. 34b946b Temporarily revert r63025 until the testsuite failures can be fixed. by Bill Wendling · 17 years ago
  15. d725051 Get rid of a bunch of dead code now that interval reconstruction is enabled. by Owen Anderson · 17 years ago
  16. 8af1e76 Fix an issue where LiveIntervals was trying to be smart about removing kill by Owen Anderson · 17 years ago
  17. b964f33 Silence a bogus compiler warning. by Evan Cheng · 17 years ago
  18. 32ca865 Some cleanups. No functional changes. by Owen Anderson · 17 years ago
  19. 9ce499a Stage two of fixing pre-alloc-splitting's code size issues: filter out restores that are just by Owen Anderson · 17 years ago
  20. 956ec27 Add an initial pass at dead spill/restore removal for pre alloc splitting. by Owen Anderson · 17 years ago
  21. d3be462 I accidentally removed this check in an earlier commit, which cause breakage in the pre alloc splitter. by Owen Anderson · 17 years ago
  22. 6cf7c39 Be more aggressive about renumbering vregs after splitting them. by Owen Anderson · 17 years ago
  23. 04ee5a1 Change TargetInstrInfo::isMoveInstr to return source and destination sub-register indices as well. by Evan Cheng · 17 years ago
  24. e1762c9 More two-address fixes. This gets lua working with join-creation enabled. by Owen Anderson · 17 years ago
  25. 200ee7f The phi construction algorithm used for interval reconstruction is complicated by by Owen Anderson · 17 years ago
  26. d0ed240 Get rid of sentinel insertion in interval reconstruction. It just masked the by Owen Anderson · 17 years ago
  27. 7d211e2 Get live interval reconstruction several steps closer to working. by Owen Anderson · 17 years ago
  28. 2b7fc1e Add braces, as suggested by a gcc warning. by Duncan Sands · 17 years ago
  29. d4f6fe5 Fix up kill/dead marking in the new live interval reconstruction code. by Owen Anderson · 17 years ago
  30. 60d4f6d Add prototype code for recomputing a live interval's ranges and valnos through recursive phi construction. by Owen Anderson · 17 years ago
  31. 2ebf63f Re-apply r61158 in a form that no longer breaks tests. by Owen Anderson · 17 years ago
  32. c7a2194 Revert r61158 for now, as it caused some test failures. by Owen Anderson · 17 years ago
  33. 25dffa7 Fix miscompilations caused by renumbering, and enable it as part of prealloc splitting. by Owen Anderson · 17 years ago
  34. d0b6a0d Add code to renumber split intervals into new vregs. This is disabled for now until I finish working out some iterator invalidation issues. by Owen Anderson · 17 years ago
  35. 75c99c5 Switch to top-down mode and fix a crasher this exposed caused by an error in the by Owen Anderson · 17 years ago
  36. 6002e99 Factor out some common code. by Owen Anderson · 17 years ago
  37. 7b9d67c Add support for folding spills into preceding defs when doing pre-alloc splitting. by Owen Anderson · 17 years ago
  38. 75fa96b Add support for rematerialization in pre-alloc-splitting. by Owen Anderson · 17 years ago
  39. 5a92d4e Fix a bug introduced by my previous patch. With this change, SPEC is now clean with prealloc splitting enabled. by Owen Anderson · 17 years ago
  40. 711fd3d Don't allow the restore point to be placed after terminators. With this change, by Owen Anderson · 17 years ago
  41. 80fe873 Don't walk into predecessors in which the vreg is not live when doing shrinkwrapping. by Owen Anderson · 17 years ago
  42. b214c69 Use the new predicate to control when we do prealloc splitting. Fix a small bug. by Owen Anderson · 17 years ago
  43. f1f75b1 First pass at checking for the creation of a new join point when doing pre-alloc splitting. This is not turned on yet. by Owen Anderson · 17 years ago
  44. ae61ca0 Revert my last patch until I consult with Evan about it. by Owen Anderson · 17 years ago
  45. 6423c6c Don't do pre-splitting if doing so would create a value join that did not by Owen Anderson · 17 years ago
  46. 36f3adf Add a fixme. by Evan Cheng · 17 years ago
  47. 5489893 - More pre-split fixes: spill slot live interval computation bug; restore point bug. by Evan Cheng · 17 years ago
  48. d0e32c5 - Rewrite code that update register live interval that's split. by Evan Cheng · 17 years ago
  49. 1f08cc2 If def is in the same mbb as the barrier, spilt the value after the last use before the barrier. by Evan Cheng · 17 years ago
  50. ae7fa5b Add command line option to limit the number splits to help debugging. by Evan Cheng · 17 years ago
  51. f62ce37 Avoid putting a split past the end of the live range; always shrink wrap live interval in the barrier mbb. by Evan Cheng · 17 years ago
  52. 985921e Silence a bogus compile time warning. by Evan Cheng · 17 years ago
  53. b3990d5 Remove val# defined by a remat'ed def that is now dead. by Evan Cheng · 17 years ago
  54. 2306628 For now, don't split live intervals around x87 stack register barriers. FpGET_ST0_80 must be right after a call instruction (and ADJCALLSTACKUP) so we need to find a way to prevent reload of x87 registers between them. by Evan Cheng · 17 years ago
  55. aaf510c Do not shrink wrap live interval in a mbb if it's livein any of its successor blocks. The mbb can be revisited again after all of the successors are processed. by Evan Cheng · 17 years ago
  56. 79d5b5a Handle cases where there aren't uses in the barrier mbb. by Evan Cheng · 17 years ago
  57. 78dfef7 If val# def is ~0U, meaning it's defined by a PHI, and it's previously split, spill before the barrier because it's impossible to determine if all the defs are spilled in the same spill slot. by Evan Cheng · 17 years ago
  58. 56ab0de Fix a pasto. by Evan Cheng · 17 years ago
  59. 2efe3fd Fix a end() dereference; remove an abort() that wasn't meant to be left in. by Evan Cheng · 17 years ago
  60. 0658749 Avoid splitting an interval multiple times; avoid splitting re-materializable val# (for now). by Evan Cheng · 17 years ago
  61. f5cd4f0 Committing a good chunk of the pre-register allocation live interval splitting pass. It's handling simple cases and appear to do good things. Next: avoid splitting an interval multiple times; renumber registers when possible; record stack slot live intervals for coloring; rematerialize defs when possible. by Evan Cheng · 17 years ago
  62. 09e8ca8 Add skeleton for the pre-register allocation live interval splitting pass. by Evan Cheng · 17 years ago