- aded995 Fix pr3954. The register scavenger asserts for inline assembly with by Bob Wilson · 16 years ago
- 99a19b6 Remove the "fast" cases for spill and restore point determination, as these were subtlely wrong in obscure cases. Patch the testcase by Owen Anderson · 16 years ago
- 14579cc Give the pre-alloc splitter access to the VirtRegMap. It doesn't do anything by Owen Anderson · 17 years ago
- d6e3f9b (Hopefully) silence a warning. by Owen Anderson · 17 years ago
- 170e499 Be more careful about choosing restore points when doing restore folding. This fixes some subtle miscompilations. by Owen Anderson · 17 years ago
- 060d65e Add a restore folder, which shaves a dozen or so machineinstrs off oggenc. Update a testcase to check this. by Owen Anderson · 17 years ago
- 83ecf4f Fix a crash in the pre-alloc splitter exposed by recent codegen changes. by Owen Anderson · 17 years ago
- f5a8a36 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
- 54abf8c Pre-alloc splitting needs to be more careful to avoid inserting spills/restores by Owen Anderson · 17 years ago
- 85f86f3 MergeValueInto is too smart: it might choose to do the merge the opposite direction. by Owen Anderson · 17 years ago
- 42789b7 Refactor PerformPHIConstruction, no functionality changes. by Evan Cheng · 17 years ago
- 0f6690e Fix test failures causes by my previous commit. by Owen Anderson · 17 years ago
- 464c1b8 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
- 5da495d 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
- c70f0a9 Fix an issue where restores could be inserted after a terminator instruction, by Owen Anderson · 17 years ago
- f97d612 Comments are good. :-) by Owen Anderson · 17 years ago
- ea81c8a Add support for aggressive load-use-store folding. This takes care of the by Owen Anderson · 17 years ago
- 922b8d7 Make the pre-split-limit option more useful by using a per-function counter. by Owen Anderson · 17 years ago
- 5bc4884 Reapply r63025 and r63026, with fixes for the failing testcases. by Owen Anderson · 17 years ago
- 807630e Also revert r63206 by Bill Wendling · 17 years ago
- 21f5636 Temporarily revert r63025 until the testsuite failures can be fixed. by Bill Wendling · 17 years ago
- 8ae20cf Get rid of a bunch of dead code now that interval reconstruction is enabled. by resistor · 17 years ago
- f58b90a Fix an issue where LiveIntervals was trying to be smart about removing kill by resistor · 17 years ago
- bc7d476 Silence a bogus compiler warning. by evancheng · 17 years ago
- 22c9d8c Some cleanups. No functional changes. by resistor · 17 years ago
- bd55535 Stage two of fixing pre-alloc-splitting's code size issues: filter out restores that are just by Owen Anderson · 17 years ago
- ecaf7ca Add an initial pass at dead spill/restore removal for pre alloc splitting. by Owen Anderson · 17 years ago
- 41cb491 I accidentally removed this check in an earlier commit, which cause breakage in the pre alloc splitter. by Owen Anderson · 17 years ago
- 8aa05c5 Be more aggressive about renumbering vregs after splitting them. by Owen Anderson · 17 years ago
- f97496a Change TargetInstrInfo::isMoveInstr to return source and destination sub-register indices as well. by Evan Cheng · 17 years ago
- 41849af More two-address fixes. This gets lua working with join-creation enabled. by Owen Anderson · 17 years ago
- 952fc04 The phi construction algorithm used for interval reconstruction is complicated by by Owen Anderson · 17 years ago
- d71a1ff Get rid of sentinel insertion in interval reconstruction. It just masked the by Owen Anderson · 17 years ago
- 30af3ec Get live interval reconstruction several steps closer to working. by Owen Anderson · 17 years ago
- b73dec9 Add braces, as suggested by a gcc warning. by Duncan Sands · 17 years ago
- ab7defc Fix up kill/dead marking in the new live interval reconstruction code. by Owen Anderson · 17 years ago
- babcf12 Add prototype code for recomputing a live interval's ranges and valnos through recursive phi construction. by Owen Anderson · 17 years ago
- 64caad9 Re-apply r61158 in a form that no longer breaks tests. by Owen Anderson · 17 years ago
- 24d3f71 Revert r61158 for now, as it caused some test failures. by Owen Anderson · 17 years ago
- d66b2b0 Fix miscompilations caused by renumbering, and enable it as part of prealloc splitting. by Owen Anderson · 17 years ago
- 9708cec 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
- 70e8127 Switch to top-down mode and fix a crasher this exposed caused by an error in the by Owen Anderson · 17 years ago
- 22bb751 Factor out some common code. by Owen Anderson · 17 years ago
- 9a1254f Add support for folding spills into preceding defs when doing pre-alloc splitting. by Owen Anderson · 17 years ago
- f10e951 Add support for rematerialization in pre-alloc-splitting. by Owen Anderson · 17 years ago
- 9afa28d 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
- 94a984c Don't allow the restore point to be placed after terminators. With this change, by Owen Anderson · 17 years ago
- 5e0a402 Don't walk into predecessors in which the vreg is not live when doing shrinkwrapping. by Owen Anderson · 17 years ago
- 3be0e13 Use the new predicate to control when we do prealloc splitting. Fix a small bug. by Owen Anderson · 17 years ago
- 39e964c 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
- fa30953 Revert my last patch until I consult with Evan about it. by Owen Anderson · 17 years ago
- 8190938 Don't do pre-splitting if doing so would create a value join that did not by Owen Anderson · 17 years ago
- b288b99 Add a fixme. by Evan Cheng · 17 years ago
- 29f36f5 - More pre-split fixes: spill slot live interval computation bug; restore point bug. by Evan Cheng · 17 years ago
- 84f9fc2 - Rewrite code that update register live interval that's split. by Evan Cheng · 17 years ago
- 12b56d1 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
- fabf699 Add command line option to limit the number splits to help debugging. by Evan Cheng · 17 years ago
- 6d9d96e 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
- dffc555 Silence a bogus compile time warning. by Evan Cheng · 17 years ago
- c00c2a2 Remove val# defined by a remat'ed def that is now dead. by Evan Cheng · 17 years ago
- 0e4a5a9 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
- c06da70 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
- 843211e Handle cases where there aren't uses in the barrier mbb. by Evan Cheng · 17 years ago
- c75704b 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
- 158c68b Fix a pasto. by Evan Cheng · 17 years ago
- e98f0b5 Fix a end() dereference; remove an abort() that wasn't meant to be left in. by Evan Cheng · 17 years ago
- 9cd7ff0 Avoid splitting an interval multiple times; avoid splitting re-materializable val# (for now). by Evan Cheng · 17 years ago
- 99dcc17 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
- c8cbbe7 Add skeleton for the pre-register allocation live interval splitting pass. by Evan Cheng · 17 years ago