summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/SSEDomainFix.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-03-31 17:13:16 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-03-31 17:13:16 +0000
commit4cd5866f8ead15aa2634bd63bff4975aa2e395fb (patch)
tree408270f4fd570dedf41adb298c22ae7d0880d26e /llvm/lib/Target/X86/SSEDomainFix.cpp
parent587b1d419d0557bb7c1c452dfc9f6143c41cf9fe (diff)
downloadbcm5719-llvm-4cd5866f8ead15aa2634bd63bff4975aa2e395fb.tar.gz
bcm5719-llvm-4cd5866f8ead15aa2634bd63bff4975aa2e395fb.zip
Fix PR6750. Don't try to merge a DomainValue with itself.
llvm-svn: 100016
Diffstat (limited to 'llvm/lib/Target/X86/SSEDomainFix.cpp')
-rw-r--r--llvm/lib/Target/X86/SSEDomainFix.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/SSEDomainFix.cpp b/llvm/lib/Target/X86/SSEDomainFix.cpp
index fe4e35329c6..be17515184a 100644
--- a/llvm/lib/Target/X86/SSEDomainFix.cpp
+++ b/llvm/lib/Target/X86/SSEDomainFix.cpp
@@ -261,6 +261,8 @@ void SSEDomainFixPass::Collapse(DomainValue *dv, unsigned domain) {
bool SSEDomainFixPass::Merge(DomainValue *A, DomainValue *B) {
assert(!A->collapsed() && "Cannot merge into collapsed");
assert(!B->collapsed() && "Cannot merge from collapsed");
+ if (A == B)
+ return true;
if (!A->compat(B->Mask))
return false;
A->Mask &= B->Mask;
OpenPOWER on IntegriCloud