aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-11-29 09:49:23 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-11-29 09:49:23 +0000
commit8b70e63ab4fbb07926dc0572c70988fa1277fa82 (patch)
tree686b20aa4906f702dcc3c16396faad2990f942ed /include/llvm/CodeGen
parent643c135f3e4d895e928dab9ba938f33b0303ec7c (diff)
downloadexternal_llvm-8b70e63ab4fbb07926dc0572c70988fa1277fa82.zip
external_llvm-8b70e63ab4fbb07926dc0572c70988fa1277fa82.tar.gz
external_llvm-8b70e63ab4fbb07926dc0572c70988fa1277fa82.tar.bz2
Replace the odd kill# hack with something less fragile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44434 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r--include/llvm/CodeGen/LiveInterval.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/LiveInterval.h b/include/llvm/CodeGen/LiveInterval.h
index 69936a0..48c7ab6 100644
--- a/include/llvm/CodeGen/LiveInterval.h
+++ b/include/llvm/CodeGen/LiveInterval.h
@@ -38,16 +38,18 @@ namespace llvm {
/// contains ~1u,x to indicate that the value # is not used.
/// def - Instruction # of the definition.
/// reg - Source reg iff val# is defined by a copy; zero otherwise.
+ /// hasPHIKill - One or more of the kills are PHI nodes.
/// kills - Instruction # of the kills. If a kill is an odd #, it means
/// the kill is a phi join point.
struct VNInfo {
unsigned id;
unsigned def;
unsigned reg;
+ bool hasPHIKill;
SmallVector<unsigned, 4> kills;
- VNInfo() : id(~1U), def(~1U), reg(0) {}
+ VNInfo() : id(~1U), def(~1U), reg(0), hasPHIKill(false) {}
VNInfo(unsigned i, unsigned d, unsigned r)
- : id(i), def(d), reg(r) {}
+ : id(i), def(d), reg(r), hasPHIKill(false) {}
};
/// LiveRange structure - This represents a simple register range in the
@@ -158,6 +160,7 @@ namespace llvm {
void copyValNumInfo(VNInfo *DstValNo, const VNInfo *SrcValNo) {
DstValNo->def = SrcValNo->def;
DstValNo->reg = SrcValNo->reg;
+ DstValNo->hasPHIKill = SrcValNo->hasPHIKill;
DstValNo->kills = SrcValNo->kills;
}