- 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
- 5734c94 Pre-alloc splitting needs to be more careful to avoid inserting spills/restores by Owen Anderson · 17 years ago
- 5b93f6f MergeValueInto is too smart: it might choose to do the merge the opposite direction. by Owen Anderson · 17 years ago
- 19a7258 Refactor PerformPHIConstruction, no functionality changes. by Evan Cheng · 17 years ago
- 4a6d13e Fix test failures causes by my previous commit. by Owen Anderson · 17 years ago
- 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
- 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
- c0f3a03 Fix an issue where restores could be inserted after a terminator instruction, by Owen Anderson · 17 years ago
- 4bfc209 Comments are good. :-) by Owen Anderson · 17 years ago
- 45e6855 Add support for aggressive load-use-store folding. This takes care of the by Owen Anderson · 17 years ago
- 26562de Make the pre-split-limit option more useful by using a per-function counter. by Owen Anderson · 17 years ago
- b4b8436 Reapply r63025 and r63026, with fixes for the failing testcases. by Owen Anderson · 17 years ago
- 826f093 Also revert r63206 by Bill Wendling · 17 years ago
- 34b946b Temporarily revert r63025 until the testsuite failures can be fixed. by Bill Wendling · 17 years ago
- d725051 Get rid of a bunch of dead code now that interval reconstruction is enabled. by Owen Anderson · 17 years ago
- 8af1e76 Fix an issue where LiveIntervals was trying to be smart about removing kill by Owen Anderson · 17 years ago
- b964f33 Silence a bogus compiler warning. by Evan Cheng · 17 years ago
- 32ca865 Some cleanups. No functional changes. by Owen Anderson · 17 years ago
- 9ce499a Stage two of fixing pre-alloc-splitting's code size issues: filter out restores that are just by Owen Anderson · 17 years ago
- 956ec27 Add an initial pass at dead spill/restore removal for pre alloc splitting. by Owen Anderson · 17 years ago
- d3be462 I accidentally removed this check in an earlier commit, which cause breakage in the pre alloc splitter. by Owen Anderson · 17 years ago
- 6cf7c39 Be more aggressive about renumbering vregs after splitting them. by Owen Anderson · 17 years ago
- 04ee5a1 Change TargetInstrInfo::isMoveInstr to return source and destination sub-register indices as well. by Evan Cheng · 17 years ago
- e1762c9 More two-address fixes. This gets lua working with join-creation enabled. by Owen Anderson · 17 years ago
- 200ee7f The phi construction algorithm used for interval reconstruction is complicated by by Owen Anderson · 17 years ago
- d0ed240 Get rid of sentinel insertion in interval reconstruction. It just masked the by Owen Anderson · 17 years ago
- 7d211e2 Get live interval reconstruction several steps closer to working. by Owen Anderson · 17 years ago
- 2b7fc1e Add braces, as suggested by a gcc warning. by Duncan Sands · 17 years ago
- d4f6fe5 Fix up kill/dead marking in the new live interval reconstruction code. by Owen Anderson · 17 years ago
- 60d4f6d Add prototype code for recomputing a live interval's ranges and valnos through recursive phi construction. by Owen Anderson · 17 years ago
- 2ebf63f Re-apply r61158 in a form that no longer breaks tests. by Owen Anderson · 17 years ago
- c7a2194 Revert r61158 for now, as it caused some test failures. by Owen Anderson · 17 years ago
- 25dffa7 Fix miscompilations caused by renumbering, and enable it as part of prealloc splitting. by Owen Anderson · 17 years ago
- 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
- 75c99c5 Switch to top-down mode and fix a crasher this exposed caused by an error in the by Owen Anderson · 17 years ago
- 6002e99 Factor out some common code. by Owen Anderson · 17 years ago
- 7b9d67c Add support for folding spills into preceding defs when doing pre-alloc splitting. by Owen Anderson · 17 years ago
- 75fa96b Add support for rematerialization in pre-alloc-splitting. by Owen Anderson · 17 years ago
- 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
- 711fd3d Don't allow the restore point to be placed after terminators. With this change, by Owen Anderson · 17 years ago
- 80fe873 Don't walk into predecessors in which the vreg is not live when doing shrinkwrapping. by Owen Anderson · 17 years ago
- b214c69 Use the new predicate to control when we do prealloc splitting. Fix a small bug. by Owen Anderson · 17 years ago
- 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
- ae61ca0 Revert my last patch until I consult with Evan about it. by Owen Anderson · 17 years ago
- 6423c6c Don't do pre-splitting if doing so would create a value join that did not by Owen Anderson · 17 years ago
- 36f3adf Add a fixme. by Evan Cheng · 17 years ago
- 5489893 - More pre-split fixes: spill slot live interval computation bug; restore point bug. by Evan Cheng · 17 years ago
- d0e32c5 - Rewrite code that update register live interval that's split. by Evan Cheng · 17 years ago
- 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
- ae7fa5b Add command line option to limit the number splits to help debugging. by Evan Cheng · 17 years ago
- 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
- 985921e Silence a bogus compile time warning. by Evan Cheng · 17 years ago
- b3990d5 Remove val# defined by a remat'ed def that is now dead. by Evan Cheng · 17 years ago
- 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
- 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
- 79d5b5a Handle cases where there aren't uses in the barrier mbb. by Evan Cheng · 17 years ago
- 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
- 56ab0de Fix a pasto. by Evan Cheng · 17 years ago
- 2efe3fd Fix a end() dereference; remove an abort() that wasn't meant to be left in. by Evan Cheng · 17 years ago
- 0658749 Avoid splitting an interval multiple times; avoid splitting re-materializable val# (for now). by Evan Cheng · 17 years ago
- 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
- 09e8ca8 Add skeleton for the pre-register allocation live interval splitting pass. by Evan Cheng · 17 years ago