projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8d0cc0a
)
Remove live interval entries for an interval if we're eliminating its only VN.
author
Owen Anderson
<resistor@mac.com>
Fri, 25 Jul 2008 21:08:41 +0000
(21:08 +0000)
committer
Owen Anderson
<resistor@mac.com>
Fri, 25 Jul 2008 21:08:41 +0000
(21:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54062
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/CodeGen/StrongPHIElimination.cpp
patch
|
blob
|
history
diff --git
a/lib/CodeGen/StrongPHIElimination.cpp
b/lib/CodeGen/StrongPHIElimination.cpp
index a2bb81851117b192068b47755c38d441606eb764..9a9fba550b85f2534bf9dce7ca64d19f168c36d1 100644
(file)
--- a/
lib/CodeGen/StrongPHIElimination.cpp
+++ b/
lib/CodeGen/StrongPHIElimination.cpp
@@
-794,7
+794,12
@@
void StrongPHIElimination::mergeLiveIntervals(unsigned primary,
LI.getVNInfoAllocator());
NewVN->hasPHIKill = true;
LiveRange NewRange(RangeMergingIn->start, RangeMergingIn->end, NewVN);
- RHS.removeRange(RangeMergingIn->start, RangeMergingIn->end, true);
+
+ if (RHS.containsOneValue())
+ LI.removeInterval(RHS.reg);
+ else
+ RHS.removeRange(RangeMergingIn->start, RangeMergingIn->end, true);
+
LHS.addRange(NewRange);
}