Index: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp =================================================================== --- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp +++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp @@ -30830,7 +30830,7 @@ // Nuke no-op shuffles that show up after combining. if (isNoopShuffleMask(Mask)) - return DCI.CombineTo(N.getNode(), N.getOperand(0), /*AddTo*/ true); + return N.getOperand(0); // Look for simplifications involving one or two shuffle instructions. SDValue V = N.getOperand(0); @@ -31286,9 +31286,8 @@ // a particular chain. if (SDValue Res = combineX86ShufflesRecursively( {Op}, 0, Op, {0}, {}, /*Depth*/ 1, - /*HasVarMask*/ false, DAG, Subtarget)) { - return DCI.CombineTo(N, Res); - } + /*HasVarMask*/ false, DAG, Subtarget)) + return Res; } return SDValue(); @@ -34259,9 +34258,8 @@ SDValue Op(N, 0); if (SDValue Res = combineX86ShufflesRecursively({Op}, 0, Op, {0}, {}, /*Depth*/ 1, - /*HasVarMask*/ false, DAG, Subtarget)) { - return DCI.CombineTo(N, Res); - } + /*HasVarMask*/ false, DAG, Subtarget)) + return Res; return SDValue(); } @@ -34320,9 +34318,8 @@ SDValue Op(N, 0); if (SDValue Res = combineX86ShufflesRecursively( {Op}, 0, Op, {0}, {}, /*Depth*/ 1, - /*HasVarMask*/ false, DAG, Subtarget)) { - return DCI.CombineTo(N, Res); - } + /*HasVarMask*/ false, DAG, Subtarget)) + return Res; } // Constant Folding. @@ -34360,9 +34357,8 @@ SDValue Op(N, 0); if (SDValue Res = combineX86ShufflesRecursively({Op}, 0, Op, {0}, {}, /*Depth*/ 1, - /*HasVarMask*/ false, DAG, Subtarget)) { - return DCI.CombineTo(N, Res); - } + /*HasVarMask*/ false, DAG, Subtarget)) + return Res; return SDValue(); } @@ -34816,9 +34812,8 @@ SDValue Op(N, 0); if (SDValue Res = combineX86ShufflesRecursively( {Op}, 0, Op, {0}, {}, /*Depth*/ 1, - /*HasVarMask*/ false, DAG, Subtarget)) { - return DCI.CombineTo(N, Res); - } + /*HasVarMask*/ false, DAG, Subtarget)) + return Res; } // Attempt to combine a scalar bitmask AND with an extracted shuffle. @@ -37226,9 +37221,8 @@ SDValue Op(N, 0); if (SDValue Res = combineX86ShufflesRecursively( {Op}, 0, Op, {0}, {}, /*Depth*/ 1, - /*HasVarMask*/ false, DAG, Subtarget)) { - return DCI.CombineTo(N, Res); - } + /*HasVarMask*/ false, DAG, Subtarget)) + return Res; } return SDValue();