aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/StrongPHIElimination.cpp
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2008-01-21 22:01:01 +0000
committerOwen Anderson <resistor@mac.com>2008-01-21 22:01:01 +0000
commit3b489522dff11af226f8aaef9660c10257d16d60 (patch)
tree3406765640140e2f6d108a99f4bdcb006c3bbc61 /lib/CodeGen/StrongPHIElimination.cpp
parent03531a4816c6b1a80322129d6f7c5d3ab06be7bf (diff)
Improve a few comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46217 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/StrongPHIElimination.cpp')
-rw-r--r--lib/CodeGen/StrongPHIElimination.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/CodeGen/StrongPHIElimination.cpp b/lib/CodeGen/StrongPHIElimination.cpp
index e5cae2bc72..ff58e796bf 100644
--- a/lib/CodeGen/StrongPHIElimination.cpp
+++ b/lib/CodeGen/StrongPHIElimination.cpp
@@ -550,7 +550,9 @@ void StrongPHIElimination::processPHIUnion(MachineInstr* Inst,
for (DomForestNode::iterator CI = DFNode->begin(), CE = DFNode->end();
CI != CE; ++CI) {
DomForestNode* child = *CI;
-
+
+ // If the current node is live-out of the defining block of one of its
+ // children, insert a copy for it
if (isLiveOut(DFNode->getReg(),
MRI.getVRegDef(child->getReg())->getParent(), MRI, LV)) {
// Insert copies for parent
@@ -565,6 +567,9 @@ void StrongPHIElimination::processPHIUnion(MachineInstr* Inst,
PHIUnion.erase(SrcReg);
}
}
+
+ // If a node is live-in to the defining block of one of its children, but
+ // not live-out, then we need to scan that block for local interferences.
} else if (isLiveIn(DFNode->getReg(),
MRI.getVRegDef(child->getReg())->getParent(),
MRI, LV) ||