aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
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
commit5f282b5dfdfcc6afe2eb27d7d04766f9f33cb1f4 (patch)
tree520ef03f4de8dc21e7675a94dc48c2a52667421a /lib/Target
parent41d43ebac5d4511dc2ecda2ec5940ce1c12d30c9 (diff)
downloadexternal_llvm-5f282b5dfdfcc6afe2eb27d7d04766f9f33cb1f4.zip
external_llvm-5f282b5dfdfcc6afe2eb27d7d04766f9f33cb1f4.tar.gz
external_llvm-5f282b5dfdfcc6afe2eb27d7d04766f9f33cb1f4.tar.bz2
Fix PR6750. Don't try to merge a DomainValue with itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100016 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r--lib/Target/X86/SSEDomainFix.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/X86/SSEDomainFix.cpp b/lib/Target/X86/SSEDomainFix.cpp
index fe4e353..be17515 100644
--- a/lib/Target/X86/SSEDomainFix.cpp
+++ b/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;