- 37c42a3 Remove many calls to TII::isMoveInstr. Targets should be producing COPY anyway. by Jakob Stoklund Olesen · 15 years ago
- bd953d1 Change TII::foldMemoryOperand API to require the machine instruction to be by Jakob Stoklund Olesen · 15 years ago
- 4c82a9e Detect and handle COPY in many places. by Jakob Stoklund Olesen · 15 years ago
- 55d738e2 Don't track kills in VNInfo. Use interval ends instead. by Jakob Stoklund Olesen · 15 years ago
- d2d1ae1 Use pre-increment instead of post-increment when the result is not used. by Dan Gohman · 15 years ago
- a8ad977 Slightly change the meaning of the reMaterialize target hook when the original by Jakob Stoklund Olesen · 15 years ago
- 3858451 - Change MachineInstr::findRegisterDefOperandIdx so it can also look for defs by Evan Cheng · 15 years ago
- a81e1ca constify accessor. by Chris Lattner · 15 years ago
- efb126a Add argument TargetRegisterInfo to loadRegFromStackSlot and storeRegToStackSlot. by Evan Cheng · 16 years ago
- 04c713d Introduce SpecificBumpPtrAllocator, a wrapper for BumpPtrAllocator which allows by Benjamin Kramer · 16 years ago
- b06015a move target-independent opcodes out of TargetInstrInfo by Chris Lattner · 16 years ago
- b757a82 Simplify code. No intended functionality/performance change. by Benjamin Kramer · 16 years ago
- 97d9fc8 Change errs() to dbgs(). by David Greene · 16 years ago
- ee5ca6e Remove dead variable. by Bill Wendling · 16 years ago
- 4c05226 Changed slot index ranges for MachineBasicBlocks to be exclusive of endpoint. by Lang Hames · 16 years ago
- d17e296 Moved spill weight calculation out of SimpleRegisterCoalescing and into its own pass: CalculateSpillWeights. by Lang Hames · 16 years ago
- a48f44d improve portability to avoid conflicting with std::next in c++'0x. by Chris Lattner · 16 years ago
- 6ad7da9 - Change TargetInstrInfo::reMaterialize to pass in TargetRegisterInfo. by Evan Cheng · 16 years ago
- 6b7233a Added an API to the SlotIndexes pass to allow new instructions to be inserted into the numbering. by Lang Hames · 16 years ago
- 1fbe054 by David Greene · 16 years ago
- bff25cb Fixed an iteration condition in PreAllocSplitting. This should fix some miscompilations casued by PreAllocSplitting. by Lang Hames · 16 years ago
- b40d3f7 Fix DenseMap iterator constness. by Jeffrey Yasskin · 16 years ago
- ce29331 80 col. by Evan Cheng · 16 years ago
- 05fb963 The Indexes Patch. by Lang Hames · 16 years ago
- 02d5f77 Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. by Nick Lewycky · 16 years ago
- 16edcd7 Oops. Backing out 84681 - needs to wait for the indexing patch. by Lang Hames · 16 years ago
- d8938d1 Added some debugging output to pre-alloc splitting. by Lang Hames · 16 years ago
- 4729191 Distinquish stack slots from other stack objects. They (and fixed objects) get FixedStack PseudoSourceValues. by Evan Cheng · 16 years ago
- be27d61 Reset kill markers after live interval is reconstructed. by Evan Cheng · 16 years ago
- e23984f Remove code that makes no sense. by Evan Cheng · 16 years ago
- a778090 Oops. Renamed remaining MachineInstrIndex references. by Lang Hames · 16 years ago
- 920301e Renamed MachineInstrIndex to LiveIndex. by Lang Hames · 16 years ago
- 6b81770 Removed static qualifier from a few index related methods. These methods may require a LiveIntervals instance in future. by Lang Hames · 16 years ago
- 3fffe62 Replaces uses of unsigned for indexes in LiveInterval and VNInfo with by Lang Hames · 16 years ago
- 1362602 Change Pass::print to take a raw ostream instead of std::ostream, by Chris Lattner · 16 years ago
- 3b90d97 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
- 0402315 Use setPreservesAll and setPreservesCFG in CodeGen passes. by Dan Gohman · 16 years ago
- 8451744 Let callers decide the sub-register index on the def operand of rematerialized instructions. by Evan Cheng · 16 years ago
- 08954aa Fix assert(0) conversion, as suggested by Chris. by Torok Edwin · 16 years ago
- ccb29cd Convert more assert(0)+abort() -> LLVM_UNREACHABLE, by Torok Edwin · 16 years ago
- dab7b06 Improved tracking of value number kills. VN kills are now represented by Lang Hames · 16 years ago
- 16cab19 VNInfo cleanup. by Lang Hames · 16 years ago
- 210fc62 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 · 17 years ago
- 5185617 Fix pr3954. The register scavenger asserts for inline assembly with by Bob Wilson · 17 years ago
- 4486c1f Remove the "fast" cases for spill and restore point determination, as these were subtlely wrong in obscure cases. Patch the testcase by Owen Anderson · 17 years ago
- 0422efc Give the pre-alloc splitter access to the VirtRegMap. It doesn't do anything by Owen Anderson · 17 years ago
- 380b383 (Hopefully) silence a warning. by Owen Anderson · 17 years ago
- ad50398 Be more careful about choosing restore points when doing restore folding. This fixes some subtle miscompilations. by Owen Anderson · 17 years ago
- 0dedc11 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
- f138201 Fix a crash in the pre-alloc splitter exposed by recent codegen changes. by Owen Anderson · 17 years ago
- b5f0ec3 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
- 7411523 Pre-alloc splitting needs to be more careful to avoid inserting spills/restores by Owen Anderson · 17 years ago
- 4eda2cb MergeValueInto is too smart: it might choose to do the merge the opposite direction. by Owen Anderson · 17 years ago
- 03f8625 Refactor PerformPHIConstruction, no functionality changes. by Evan Cheng · 17 years ago
- 19616c0 Fix test failures causes by my previous commit. by Owen Anderson · 17 years ago
- 66838e9 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
- bf77d2e 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
- c0924a0 Fix an issue where restores could be inserted after a terminator instruction, by Owen Anderson · 17 years ago
- a590802 Comments are good. :-) by Owen Anderson · 17 years ago
- b05ce78 Add support for aggressive load-use-store folding. This takes care of the by Owen Anderson · 17 years ago
- 431053e Make the pre-split-limit option more useful by using a per-function counter. by Owen Anderson · 17 years ago
- e84c3f2 Reapply r63025 and r63026, with fixes for the failing testcases. by Owen Anderson · 17 years ago
- e7fa3c3 Also revert r63206 by Bill Wendling · 17 years ago
- a39c83d Temporarily revert r63025 until the testsuite failures can be fixed. by Bill Wendling · 17 years ago
- 5e235d3 Get rid of a bunch of dead code now that interval reconstruction is enabled. by Owen Anderson · 17 years ago
- feffdec Fix an issue where LiveIntervals was trying to be smart about removing kill by Owen Anderson · 17 years ago
- 72287a5 Silence a bogus compiler warning. by Evan Cheng · 17 years ago
- ee34b8f Some cleanups. No functional changes. by Owen Anderson · 17 years ago
- a2ca64a Stage two of fixing pre-alloc-splitting's code size issues: filter out restores that are just by Owen Anderson · 17 years ago
- 48abf23 Add an initial pass at dead spill/restore removal for pre alloc splitting. by Owen Anderson · 17 years ago
- fe48dfa I accidentally removed this check in an earlier commit, which cause breakage in the pre alloc splitter. by Owen Anderson · 17 years ago
- be7a29d Be more aggressive about renumbering vregs after splitting them. by Owen Anderson · 17 years ago
- c544cb0 Change TargetInstrInfo::isMoveInstr to return source and destination sub-register indices as well. by Evan Cheng · 17 years ago
- 45cfef2 More two-address fixes. This gets lua working with join-creation enabled. by Owen Anderson · 17 years ago
- f04100a The phi construction algorithm used for interval reconstruction is complicated by by Owen Anderson · 17 years ago
- 96fce00 Get rid of sentinel insertion in interval reconstruction. It just masked the by Owen Anderson · 17 years ago
- 8b86b9c Get live interval reconstruction several steps closer to working. by Owen Anderson · 17 years ago
- 43b1824 Add braces, as suggested by a gcc warning. by Duncan Sands · 17 years ago
- b523228 Fix up kill/dead marking in the new live interval reconstruction code. by Owen Anderson · 17 years ago
- 37751bb Add prototype code for recomputing a live interval's ranges and valnos through recursive phi construction. by Owen Anderson · 17 years ago
- ad4d2ab Re-apply r61158 in a form that no longer breaks tests. by Owen Anderson · 17 years ago
- 59727c0 Revert r61158 for now, as it caused some test failures. by Owen Anderson · 17 years ago
- 9389176 Fix miscompilations caused by renumbering, and enable it as part of prealloc splitting. by Owen Anderson · 17 years ago
- 5121ec3 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
- 1267947 Switch to top-down mode and fix a crasher this exposed caused by an error in the by Owen Anderson · 17 years ago
- 0bcbe8f Factor out some common code. by Owen Anderson · 17 years ago
- ecd5b5f Add support for folding spills into preceding defs when doing pre-alloc splitting. by Owen Anderson · 17 years ago
- 1af37c2 Add support for rematerialization in pre-alloc-splitting. by Owen Anderson · 17 years ago
- 896512a 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
- d36b4c1 Don't allow the restore point to be placed after terminators. With this change, by Owen Anderson · 17 years ago
- fd395eb Don't walk into predecessors in which the vreg is not live when doing shrinkwrapping. by Owen Anderson · 17 years ago
- 26c10f1 Use the new predicate to control when we do prealloc splitting. Fix a small bug. by Owen Anderson · 17 years ago
- a926ed4 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
- b067843 Revert my last patch until I consult with Evan about it. by Owen Anderson · 17 years ago
- 2bb2aaa Don't do pre-splitting if doing so would create a value join that did not by Owen Anderson · 17 years ago
- d1f8c9f Add a fixme. by Evan Cheng · 17 years ago
- ce3ccc1 - More pre-split fixes: spill slot live interval computation bug; restore point bug. by Evan Cheng · 17 years ago
- 938e201 - Rewrite code that update register live interval that's split. by Evan Cheng · 17 years ago
- 5e88d90 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
- 9f85469 Add command line option to limit the number splits to help debugging. by Evan Cheng · 17 years ago