- 63040ce 80 col. by Evan Cheng · 16 years ago
- 233a60e The Indexes Patch. by Lang Hames · 16 years ago
- 6726b6d Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. by Nick Lewycky · 16 years ago
- 3fd7a68 Oops. Backing out 84681 - needs to wait for the indexing patch. by Lang Hames · 16 years ago
- 67f2566 Added some debugging output to pre-alloc splitting. by Lang Hames · 16 years ago
- 491f54f Distinquish stack slots from other stack objects. They (and fixed objects) get FixedStack PseudoSourceValues. by Evan Cheng · 16 years ago
- 35ca920 Reset kill markers after live interval is reconstructed. by Evan Cheng · 16 years ago
- 9c80680 Remove code that makes no sense. by Evan Cheng · 16 years ago
- 6cc91e3 Oops. Renamed remaining MachineInstrIndex references. by Lang Hames · 16 years ago
- cc3b065 Renamed MachineInstrIndex to LiveIndex. by Lang Hames · 16 years ago
- 9647994 Removed static qualifier from a few index related methods. These methods may require a LiveIntervals instance in future. by Lang Hames · 16 years ago
- 8651125 Replaces uses of unsigned for indexes in LiveInterval and VNInfo with by Lang Hames · 16 years ago
- 45cfe54 Change Pass::print to take a raw ostream instead of std::ostream, by Chris Lattner · 16 years ago
- 52c1afc Modified VNInfo. The "copy" member is now a union which holds the copy for a register interval, or the defining register for a stack interval. Access is via getCopy/setCopy and getReg/setReg. by Lang Hames · 16 years ago
- 845012e Use setPreservesAll and setPreservesCFG in CodeGen passes. by Dan Gohman · 16 years ago
- 3784453 Let callers decide the sub-register index on the def operand of rematerialized instructions. by Evan Cheng · 16 years ago
- f368923 Fix assert(0) conversion, as suggested by Chris. by Torok Edwin · 16 years ago
- 7d696d8 Convert more assert(0)+abort() -> LLVM_UNREACHABLE, by Torok Edwin · 16 years ago
- ffd1326 Improved tracking of value number kills. VN kills are now represented by Lang Hames · 16 years ago
- 857c4e0 VNInfo cleanup. by Lang Hames · 16 years ago
- c781a24 In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However, reloads and restores might be folded into uses / defs and freed registers might not be used at all. by Evan Cheng · 16 years ago
- d9df501 Fix pr3954. The register scavenger asserts for inline assembly with by Bob Wilson · 16 years ago
- 696a130 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
- 420dd37 Give the pre-alloc splitter access to the VirtRegMap. It doesn't do anything by Owen Anderson · 16 years ago
- a2bfb54 (Hopefully) silence a warning. by Owen Anderson · 16 years ago
- 323c58d Be more careful about choosing restore points when doing restore folding. This fixes some subtle miscompilations. by Owen Anderson · 16 years ago
- c93023a Add a restore folder, which shaves a dozen or so machineinstrs off oggenc. Update a testcase to check this. by Owen Anderson · 16 years ago
- 4cafbb5 Fix a crash in the pre-alloc splitter exposed by recent codegen changes. by Owen Anderson · 16 years ago
- 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