summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2013-08-08 08:03:12 +0000
committerCraig Topper <craig.topper@gmail.com>2013-08-08 08:03:12 +0000
commit9a39b07a605ce33b5af1bae9bd3de60ecdbe8ee6 (patch)
treeb602fee05f9296fc3df60115e8145b792c7f7875 /llvm
parent49e17b2049e2e25eb831828cba3d93ec4c629ab3 (diff)
downloadbcm5719-llvm-9a39b07a605ce33b5af1bae9bd3de60ecdbe8ee6.tar.gz
bcm5719-llvm-9a39b07a605ce33b5af1bae9bd3de60ecdbe8ee6.zip
Remove AllUndef check from one of the loops in getVectorShuffle. It was already handled by the 'AllLHS && AllRHS' check after the previous loop.
llvm-svn: 187965
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index bc6063c36d0..66be160afec 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -1351,17 +1351,13 @@ SDValue SelectionDAG::getVectorShuffle(EVT VT, SDLoc dl, SDValue N1,
commuteShuffle(N1, N2, MaskVec);
}
- // If Identity shuffle, or all shuffle in to undef, return that node.
- bool AllUndef = true;
+ // If Identity shuffle return that node.
bool Identity = true;
for (unsigned i = 0; i != NElts; ++i) {
if (MaskVec[i] >= 0 && MaskVec[i] != (int)i) Identity = false;
- if (MaskVec[i] >= 0) AllUndef = false;
}
if (Identity && NElts == N1.getValueType().getVectorNumElements())
return N1;
- if (AllUndef)
- return getUNDEF(VT);
FoldingSetNodeID ID;
SDValue Ops[2] = { N1, N2 };
OpenPOWER on IntegriCloud