summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2016-07-30 20:51:26 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2016-07-30 20:51:26 +0000
commit8bbd3650a6d24e878b03d1a22d78bead005e5ede (patch)
tree058effe9ce91ef2f1d92fbead5f6c3d983ebbce4 /llvm
parentfbe0fcb009b3e633d298408e32cd392542a16a6c (diff)
downloadbcm5719-llvm-8bbd3650a6d24e878b03d1a22d78bead005e5ede.tar.gz
bcm5719-llvm-8bbd3650a6d24e878b03d1a22d78bead005e5ede.zip
[X86] Use peekThroughOneUseBitcasts helper function
llvm-svn: 277279
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index dde5a4f3926..098b9826374 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -25322,8 +25322,7 @@ static bool combineX86ShufflesRecursively(SDValue Op, SDValue Root,
return false;
// Directly rip through bitcasts to find the underlying operand.
- while (Op.getOpcode() == ISD::BITCAST && Op.getOperand(0).hasOneUse())
- Op = Op.getOperand(0);
+ Op = peekThroughOneUseBitcasts(Op);
MVT VT = Op.getSimpleValueType();
if (!VT.isVector())
@@ -25923,9 +25922,7 @@ static SDValue combineTargetShuffle(SDValue N, SelectionDAG &DAG,
V.getOpcode() == X86ISD::PSHUFHW) &&
V.getOpcode() != N.getOpcode() &&
V.hasOneUse()) {
- SDValue D = V.getOperand(0);
- while (D.getOpcode() == ISD::BITCAST && D.hasOneUse())
- D = D.getOperand(0);
+ SDValue D = peekThroughOneUseBitcasts(V.getOperand(0));
if (D.getOpcode() == X86ISD::PSHUFD && D.hasOneUse()) {
SmallVector<int, 4> VMask = getPSHUFShuffleMask(V);
SmallVector<int, 4> DMask = getPSHUFShuffleMask(D);
OpenPOWER on IntegriCloud