OSDN Git Service

[SelectionDAG] Remove some code from PromoteIntOp_MGATHER that handles UpdateNodeOper...
authorCraig Topper <craig.topper@intel.com>
Wed, 12 Sep 2018 05:25:41 +0000 (05:25 +0000)
committerCraig Topper <craig.topper@intel.com>
Wed, 12 Sep 2018 05:25:41 +0000 (05:25 +0000)
I suspect this became unecessary when the CSE of mgather was fixed in r338080. It may still be possible to hit this if we widen the element type of a gather outside of type legalization and the promote the mask of a separate gather node so they become the same. But that seems pretty unlikely.

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

lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp

index 04bd84c..68b7380 100644 (file)
@@ -1260,14 +1260,7 @@ SDValue DAGTypeLegalizer::PromoteIntOp_MGATHER(MaskedGatherSDNode *N,
   } else
     NewOps[OpNo] = GetPromotedInteger(N->getOperand(OpNo));
 
-  SDValue Res = SDValue(DAG.UpdateNodeOperands(N, NewOps), 0);
-  // updated in place.
-  if (Res.getNode() == N)
-    return Res;
-
-  ReplaceValueWith(SDValue(N, 0), Res.getValue(0));
-  ReplaceValueWith(SDValue(N, 1), Res.getValue(1));
-  return SDValue();
+  return SDValue(DAG.UpdateNodeOperands(N, NewOps), 0);
 }
 
 SDValue DAGTypeLegalizer::PromoteIntOp_MSCATTER(MaskedScatterSDNode *N,