- 2370e2f When unfolding a load, avoid assuming which instruction that by Dan Gohman · 15 years ago
- 851e478 Fix the new load-unfolding code to update LiveVariable's dead flags, by Dan Gohman · 15 years ago
- 3c1b3c6 Teach two-address lowering how to unfold a load to open up commuting by Dan Gohman · 15 years ago
- 678927e Only run CoalesceExtSubRegs when we can expect LiveIntervalAnalysis to clean up by Jakob Stoklund Olesen · 15 years ago
- de94e66 Add some missing checks for the case where the extract_subregs are by Bob Wilson · 15 years ago
- a55b887 Generalize the pre-coalescing of extract_subregs feeding reg_sequences, by Bob Wilson · 15 years ago
- a0746bd Allow target to place 2-address pass inserted copies in better spots. Thumb2 will use this to try to avoid breaking up IT blocks. by Evan Cheng · 15 years ago
- 7149cfc Fix a mistake in my previous change r105437: don't access operand 2 and assume by Bob Wilson · 15 years ago
- a733daf Add some missing checks in TwoAddressInstructionPass::CoalesceExtSubRegs. by Bob Wilson · 15 years ago
- a8ad977 Slightly change the meaning of the reMaterialize target hook when the original by Jakob Stoklund Olesen · 15 years ago
- 2d35a9e Rename canCombinedSubRegIndex method to something more grammatically correct by Bob Wilson · 15 years ago
- f4a34b9 Fix an obvious mistake: don't change the operands until all of them have been by Bob Wilson · 15 years ago
- ab62239 Handle composed subreg indices when processing REQ_SEQUENCE instructions. by Jakob Stoklund Olesen · 15 years ago
- 3858451 - Change MachineInstr::findRegisterDefOperandIdx so it can also look for defs by Evan Cheng · 15 years ago
- e11cdf8 TwoAddressInstructionPass doesn't really know how to merge live intervals when by Jakob Stoklund Olesen · 15 years ago
- 1e4f552 Fix PR7175. Insert copies of a REG_SEQUENCE source if it is used by other REG_SEQUENCE instructions. by Evan Cheng · 15 years ago
- f2c9a96 Fix PR7156. If the sources of a REG_SEQUENCE are all IMPLICIT_DEF's. Replace it with an IMPLICIT_DEF rather than deleting it or else it would be left without a def. by Evan Cheng · 15 years ago
- 29c4638 Careful with reg_sequence coalescing to not to overwrite sub-register indices. by Evan Cheng · 15 years ago
- 8c2d062 Teach two-address pass to do some coalescing while eliminating REG_SEQUENCE by Evan Cheng · 15 years ago
- 4aab8b5 If REG_SEQUENCE source is livein, copy it first. Also, update livevariables information when a copy is introduced. by Evan Cheng · 15 years ago
- 0c6ebc7 Code clean up. by Evan Cheng · 15 years ago
- b58b6f9 Ensure REG_SEQUENCE source operands are unique. by Evan Cheng · 15 years ago
- 9d55b23 Clear RegSequences vector after eliminating REG_SEQUENCE instructions. by Evan Cheng · 15 years ago
- 779c69b Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that it by Dan Gohman · 16 years ago
- 4b6abd8 Move REG_SEQUENCE removal to 2addr pass. by Evan Cheng · 16 years ago
- 77be42a Ignore dbg_value's. by Evan Cheng · 16 years ago
- f94d683 Add MachineRegisterInfo::hasOneUse and hasOneNonDBGUse. by Evan Cheng · 16 years ago
- 62e795a Swap parameters of isSafeToMove and isSafeToReMat for consistency. by Evan Cheng · 16 years ago
- 12565de Don't allow DBG_VALUE to affect codegen. by Dale Johannesen · 16 years ago
- 8bba160 Skip debug info in a couple of places. by Dale Johannesen · 16 years ago
- b06015a move target-independent opcodes out of TargetInstrInfo by Chris Lattner · 16 years ago
- c3adf44 Skip DEBUG_VALUE in some places where it was affecting codegen. by Dale Johannesen · 16 years ago
- ac9f819 Change errs() to dbgs(). by David Greene · 16 years ago
- a48f44d improve portability to avoid conflicting with std::next in c++'0x. by Chris Lattner · 16 years ago
- 575c3f3d Fix PR5300. by Jakob Stoklund Olesen · 16 years ago
- 6ad7da9 - Change TargetInstrInfo::reMaterialize to pass in TargetRegisterInfo. by Evan Cheng · 16 years ago
- 974e12b Remove includes of Support/Compiler.h that are no longer needed after the by Nick Lewycky · 16 years ago
- 02d5f77 Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. by Nick Lewycky · 16 years ago
- 87b02d5 Factor out LiveIntervalAnalysis' code to determine whether an instruction by Dan Gohman · 16 years ago
- 5c7d9ca Overhaul the TwoAddressInstructionPass to simplify the logic, especially by Bob Wilson · 16 years ago
- bc75198 Rearrange code to eliminate redundancy and avoid gotos. by Bob Wilson · 16 years ago
- fcd618b Avoid calling removeVirtualRegisterKilled which iterates over the operands by Bob Wilson · 16 years ago
- efe9691 Refactor some code into separate functions. No functional changes. by Bob Wilson · 16 years ago
- 71e77ea Move use of LV inside condition that guards for null LV. by Bob Wilson · 16 years ago
- 33b408a Fix pr4843: When an instruction has multiple destination registers that are by Bob Wilson · 16 years ago
- e98396d Use early exit and reduce indentation. by Bob Wilson · 16 years ago
- 53b6a02 If the tied registers are already the same, there is no need to change by Bob Wilson · 16 years ago
- ed03a01 remove some DOUTs by Chris Lattner · 16 years ago
- 10af5d6 Code clean up. by Evan Cheng · 16 years ago
- 0402315 Use setPreservesAll and setPreservesCFG in CodeGen passes. by Dan Gohman · 16 years ago
- 0dd5e1e More migration to raw_ostream, the water has dried up around the iostream hole. by Daniel Dunbar · 16 years ago
- 57106d6 Use TII->findCommutedOpIndices to find the commute operands (rather than guessing). by Evan Cheng · 16 years ago
- 8451744 Let callers decide the sub-register index on the def operand of rematerialized instructions. by Evan Cheng · 16 years ago
- b4dfce2 Two-address pass should use findCommutedOpIndices to determine what registers are commuted. by Evan Cheng · 16 years ago
- 7061ee9 Eliminate VarInfo::UsedBlocks. by Evan Cheng · 16 years ago
- 2646b72 Fix for PR4124. Make TwoAddressFormPass::FindLastUseInMBB return the real last use. by Lang Hames · 16 years ago
- 8d4636d Fix for PR4121. If TwoAddressInstructionPass removes a dead def, and the regB by Lang Hames · 16 years ago
- 90b7cd6 Avoid warning in release-asserts build. by Mike Stump · 16 years ago
- c3884be Fix for PR4051. When 2address pass delete an instruction, update kill info when necessary. by Evan Cheng · 17 years ago
- 9787183 Fix PR3934 part 2. findOnlyInterestingUse() was not setting IsCopy and IsDstPhys which are returned by value and used by callee. This happened to work on the earlier test cases because of a logic error in the caller side. by Evan Cheng · 17 years ago
- f084380 PR3934: Fix a bogus two-address pass assertion. by Evan Cheng · 17 years ago
- 85abd98 Add an assertion to verify that a copy was actually emitted. by Dan Gohman · 17 years ago
- ad3e549 Implement support for using modeling implicit-zero-extension on x86-64 by Dan Gohman · 17 years ago
- 09f5be8 Turn a 2-address instruction into a 3-address one when it's profitable even if the two-address operand is killed. by Evan Cheng · 17 years ago
- 968c3b0 Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies. by Evan Cheng · 17 years ago
- 1361cbb Added MachineInstr::isRegTiedToDefOperand to check for two-addressness. by Evan Cheng · 17 years ago
- c2f95b5 Minor optimization: by Evan Cheng · 17 years ago
- 34806b1 If two-address def is dead and the instruction does not define other registers, and it doesn't produce side effects, just delete the instruction. by Evan Cheng · 17 years ago
- 5a913d6 Rename getAnalysisToUpdate to getAnalysisIfAvailable. by Duncan Sands · 17 years ago
- abda665 Teach 2addr pass to be do more commuting. If both uses of a two-address instruction are killed, but the first operand has a use before and after the def, commute if the second operand does not suffer from the same issue. by Evan Cheng · 17 years ago
- 6d89706 Refactor code. No functionality change. by Evan Cheng · 17 years ago
- 906152a Tidy up #includes, deleting a bunch of unnecessary #includes. by Dan Gohman · 17 years ago
- 0df957e Do the LiveVariables update before printing the instruction in by Dan Gohman · 17 years ago
- 1d338fc Add an option to enable StrongPHIElimination, for ease of testing. by Owen Anderson · 17 years ago
- 0d1e9a8 Switch the MachineOperand accessors back to the short names like by Dan Gohman · 17 years ago
- a79db30 Tidy up several unbeseeming casts from pointer to intptr_t. by Dan Gohman · 17 years ago
- f016b26 Move the check whether it's worth remating to caller. by Evan Cheng · 17 years ago
- 57dc078 Refactor isSafeToReMat out of 2addr pass. by Evan Cheng · 17 years ago
- 7d98a48 - Remove calls to copyKillDeadInfo which is an N^2 function. Instead, propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc. by Evan Cheng · 17 years ago
- 7a265d8 - Add LiveVariables::replaceKillInstruction. This does a subset of instructionChanged. That is, it only update the VarInfo.kills if the new instruction is known to have the correct dead and kill markers. by Evan Cheng · 17 years ago
- 30cc028 Make LiveVariables even more optional, by making it optional in the call to TargetInstrInfo::convertToThreeAddressInstruction by Owen Anderson · 17 years ago
- 8c10c24 TwoAddressInstructionPass doesn't really require LiveVariables, it just needs to update it if it's already around. by Owen Anderson · 17 years ago
- d206e2a Remove unneeded include. by Evan Cheng · 17 years ago
- 73db52e Enable two-address remat by default. by Evan Cheng · 17 years ago
- 849fa11 Missed a check. by Evan Cheng · 17 years ago
- c5618eb Complete support for two-address pass rematerialization. Now *almost* always a win. by Evan Cheng · 17 years ago
- 7a1a8eb Implement "AsCheapAsAMove" for some obviously cheap instructions: xor and the by Bill Wendling · 17 years ago
- 5a83b09 Check the "isSafeToMove" predicate, which has a series of tests to make sure by Bill Wendling · 17 years ago
- 2e44ec7 Incorporated feedback: Check that the implicitly defined operands aren't used by Bill Wendling · 17 years ago
- 2e8c828 The enabling of remat in 2-address conversion breaks this test: by Bill Wendling · 17 years ago
- c737e46 A problem that's exposed when machine LICM is enabled. Consider this code: by Bill Wendling · 17 years ago
- 0479aa5 Change class' public PassInfo variables to by initialized with the by Dan Gohman · 17 years ago
- d78c400 Clean up the use of static and anonymous namespaces. This turned up by Dan Gohman · 17 years ago
- 19e3c85 Cosmetic changes: by Bill Wendling · 17 years ago
- 5832410 Fix a memory bug: increment an iterator of a deleted machine instr. by Evan Cheng · 18 years ago
- 57bb088 Typo. by Evan Cheng · 18 years ago
- 8f8a8b2 Don't try to sink 3-address instruction if convertToThreeAddress created more than one instructions. by Evan Cheng · 18 years ago
- 21449c7 Remove an unused command line option. by Evan Cheng · 18 years ago
- 5c26bde TwoAddressInstructionPass enhancement. After it converts a two address instruction into a 3-address one, sink it past the instruction that kills the read-mod-write register if its definition is used past the kill. This reduces the number of live register by one. by Evan Cheng · 18 years ago
- 6325446 Refactor code. Remove duplicated functions that basically do the same thing as by Evan Cheng · 18 years ago