summaryrefslogtreecommitdiff
path: root/lib/CodeGen/PHIElimination.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-02-23 22:43:58 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-02-23 22:43:58 +0000
commitdcfe5f30b5e262971f601a65bebcc0367fef56c5 (patch)
treedb54351e744e003a9572e503b6b394cf60a99ac5 /lib/CodeGen/PHIElimination.cpp
parent01be611b8223c80305c7c1ce5d9bd578abc844ed (diff)
downloadllvm-dcfe5f30b5e262971f601a65bebcc0367fef56c5.tar.gz
llvm-dcfe5f30b5e262971f601a65bebcc0367fef56c5.tar.bz2
llvm-dcfe5f30b5e262971f601a65bebcc0367fef56c5.tar.xz
Keep track of phi join registers explicitly in LiveVariables.
Previously, LiveIntervalAnalysis would infer phi joins by looking for multiply defined registers. That doesn't work if the phi join is implicitly defined in all but one of the predecessors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96994 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/PHIElimination.cpp')
-rw-r--r--lib/CodeGen/PHIElimination.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/CodeGen/PHIElimination.cpp b/lib/CodeGen/PHIElimination.cpp
index 9e4bc0c273..bdfd448acd 100644
--- a/lib/CodeGen/PHIElimination.cpp
+++ b/lib/CodeGen/PHIElimination.cpp
@@ -223,6 +223,7 @@ void llvm::PHIElimination::LowerAtomicPHINode(
// Increment use count of the newly created virtual register.
VI.NumUses++;
+ LV->setPHIJoin(IncomingReg);
// When we are reusing the incoming register, it may already have been
// killed in this block. The old kill will also have been inserted at