- Jul 10, 2009
-
-
Evan Cheng authored
Remove TargetInstrInfo::CommuteChangesDestination and added findCommutedOpIndices which returns the operand indices which are swapped (when applicable). This allows for some code clean up and future enhancements. llvm-svn: 75264
-
- Jul 01, 2009
-
-
Evan Cheng authored
Handle IMPLICIT_DEF with isUndef operand marker, part 2. This patch moves the code to annotate machineoperands to LiveIntervalAnalysis. It also add markers for implicit_def that define physical registers. The rest, is just a lot of details. llvm-svn: 74580
-
- Jun 30, 2009
-
-
Evan Cheng authored
Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them. The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing. This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def. llvm-svn: 74518
-
- Jun 04, 2009
-
-
Lang Hames authored
llvm-svn: 72880
-
- Jun 03, 2009
-
-
Evan Cheng authored
Fix for PR4225: When rewriter reuse a value in a physical register , it clear the register kill operand marker and its kill ops information. However, the cleared operand may be a def of a super-register. Clear the kill ops info for the super-register's sub-registers as well. llvm-svn: 72758
-
- Jun 02, 2009
-
-
Lang Hames authored
llvm-svn: 72729
-
- May 15, 2009
-
-
Evan Cheng authored
llvm-svn: 71848
-
- May 13, 2009
-
-
Evan Cheng authored
llvm-svn: 71606
-
- May 06, 2009
-
-
Lang Hames authored
llvm-svn: 71057
-