[llvm] r277279 - [X86] Use peekThroughOneUseBitcasts helper function
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Jul 30 13:51:26 PDT 2016
Author: rksimon
Date: Sat Jul 30 15:51:26 2016
New Revision: 277279
URL: http://llvm.org/viewvc/llvm-project?rev=277279&view=rev
Log:
[X86] Use peekThroughOneUseBitcasts helper function
Modified:
llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=277279&r1=277278&r2=277279&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Sat Jul 30 15:51:26 2016
@@ -25322,8 +25322,7 @@ static bool combineX86ShufflesRecursivel
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(SDVa
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);
More information about the llvm-commits
mailing list