]> granicus.if.org Git - llvm/commitdiff
[X86] After turning VSELECT into SHRUNKBLEND, make we push the VSELECT into the workl...
authorCraig Topper <craig.topper@intel.com>
Thu, 10 Jan 2019 00:14:27 +0000 (00:14 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 10 Jan 2019 00:14:27 +0000 (00:14 +0000)
Found while trying to figure out why my second version of D56421 worked better than the first version. We weren't deleting the vselect in a timely fashion and that caused SimplfyDemandedBit to see an additional user.

The new version doesn't have this problem so this fix isn't needed there, but seemed like the right thing to do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350781 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index ca9332fd0bd98b802b9719387b0fe68970b18bd2..06d9022075cfc30e22afc1b1275b3bf68f14fbdd 100644 (file)
@@ -33927,6 +33927,7 @@ static SDValue combineVSelectToShrunkBlend(SDNode *N, SelectionDAG &DAG,
     SDValue SB = DAG.getNode(X86ISD::SHRUNKBLEND, SDLoc(U), U->getValueType(0),
                              Cond, U->getOperand(1), U->getOperand(2));
     DAG.ReplaceAllUsesOfValueWith(SDValue(U, 0), SB);
+    DCI.AddToWorklist(U);
   }
   DCI.CommitTargetLoweringOpt(TLO);
   return SDValue(N, 0);