summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SimpleRegisterCoalescing.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-31 17:23:25 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-31 17:23:25 +0000
commit9a78835414999197f408a03841d65332f90c3112 (patch)
treee7ede973fd082a077d45b63d1e22a3a18e8d5ee2 /llvm/lib/CodeGen/SimpleRegisterCoalescing.h
parentebc34dff1838a5a9b4cd00cab61bd9a3e4e6d52c (diff)
downloadbcm5719-llvm-9a78835414999197f408a03841d65332f90c3112.tar.gz
bcm5719-llvm-9a78835414999197f408a03841d65332f90c3112.zip
Mark all uses as <undef> when joining a copy.
This way, shrinkToUses() will ignore the instruction that is about to be deleted, and we avoid leaving invalid live ranges that SplitKit doesn't like. Fix a misunderstanding in MachineVerifier about <def,undef> operands. The <undef> flag is valid on def operands where it has the same meaning as <undef> on a use operand. It only applies to sub-register defines which also read the full register. llvm-svn: 128642
Diffstat (limited to 'llvm/lib/CodeGen/SimpleRegisterCoalescing.h')
-rw-r--r--llvm/lib/CodeGen/SimpleRegisterCoalescing.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SimpleRegisterCoalescing.h b/llvm/lib/CodeGen/SimpleRegisterCoalescing.h
index 11849dfca05..6e79a40c8b2 100644
--- a/llvm/lib/CodeGen/SimpleRegisterCoalescing.h
+++ b/llvm/lib/CodeGen/SimpleRegisterCoalescing.h
@@ -176,6 +176,9 @@ namespace llvm {
/// cycles Start and End or NULL if there are no uses.
MachineOperand *lastRegisterUse(SlotIndex Start, SlotIndex End,
unsigned Reg, SlotIndex &LastUseIdx) const;
+
+ /// markAsJoined - Remember that CopyMI has already been joined.
+ void markAsJoined(MachineInstr *CopyMI);
};
} // End llvm namespace
OpenPOWER on IntegriCloud