OSDN Git Service

[X86] Fix some 'return SDValue()' after DCI.CombineTo instead return the output of...
authorCraig Topper <craig.topper@intel.com>
Thu, 19 Jul 2018 20:10:44 +0000 (20:10 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 19 Jul 2018 20:10:44 +0000 (20:10 +0000)
Returning SDValue() means nothing was changed. Returning the result of CombineTo returns the first argument of CombineTo. This is specially detected by DAGCombiner as meaning that something changed, but worklist management was already taken care of.

I think the only real effect of this change is that we now properly update the Statistic the counts the number of combines performed. That's the only thing between the check for null and the check for N in the DAGCombiner.

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

lib/Target/X86/X86ISelLowering.cpp

index cd89094..5b0bc20 100644 (file)
@@ -31291,8 +31291,7 @@ static SDValue combineShuffle(SDNode *N, SelectionDAG &DAG,
     if (SDValue Res = combineX86ShufflesRecursively(
             {Op}, 0, Op, {0}, {}, /*Depth*/ 1,
             /*HasVarMask*/ false, DAG, Subtarget)) {
-      DCI.CombineTo(N, Res);
-      return SDValue();
+      return DCI.CombineTo(N, Res);
     }
   }
 
@@ -33969,7 +33968,7 @@ static SDValue combineMul(SDNode *N, SelectionDAG &DAG,
 
   if (NewMul)
     // Do not add new nodes to DAG combiner worklist.
-    DCI.CombineTo(N, NewMul, false);
+    return DCI.CombineTo(N, NewMul, false);
 
   return SDValue();
 }
@@ -34230,8 +34229,7 @@ static SDValue combineVectorPack(SDNode *N, SelectionDAG &DAG,
   if (SDValue Res =
           combineX86ShufflesRecursively({Op}, 0, Op, {0}, {}, /*Depth*/ 1,
                                         /*HasVarMask*/ false, DAG, Subtarget)) {
-    DCI.CombineTo(N, Res);
-    return SDValue();
+    return DCI.CombineTo(N, Res);
   }
 
   return SDValue();
@@ -34292,8 +34290,7 @@ static SDValue combineVectorShiftImm(SDNode *N, SelectionDAG &DAG,
     if (SDValue Res = combineX86ShufflesRecursively(
             {Op}, 0, Op, {0}, {}, /*Depth*/ 1,
             /*HasVarMask*/ false, DAG, Subtarget)) {
-      DCI.CombineTo(N, Res);
-      return SDValue();
+      return DCI.CombineTo(N, Res);
     }
   }
 
@@ -34333,8 +34330,7 @@ static SDValue combineVectorInsert(SDNode *N, SelectionDAG &DAG,
   if (SDValue Res =
           combineX86ShufflesRecursively({Op}, 0, Op, {0}, {}, /*Depth*/ 1,
                                         /*HasVarMask*/ false, DAG, Subtarget)) {
-    DCI.CombineTo(N, Res);
-    return SDValue();
+    return DCI.CombineTo(N, Res);
   }
 
   return SDValue();
@@ -34790,8 +34786,7 @@ static SDValue combineAnd(SDNode *N, SelectionDAG &DAG,
     if (SDValue Res = combineX86ShufflesRecursively(
             {Op}, 0, Op, {0}, {}, /*Depth*/ 1,
             /*HasVarMask*/ false, DAG, Subtarget)) {
-      DCI.CombineTo(N, Res);
-      return SDValue();
+      return DCI.CombineTo(N, Res);
     }
   }
 
@@ -37201,8 +37196,7 @@ static SDValue combineAndnp(SDNode *N, SelectionDAG &DAG,
     if (SDValue Res = combineX86ShufflesRecursively(
             {Op}, 0, Op, {0}, {}, /*Depth*/ 1,
             /*HasVarMask*/ false, DAG, Subtarget)) {
-      DCI.CombineTo(N, Res);
-      return SDValue();
+      return DCI.CombineTo(N, Res);
     }
   }