summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-07-19 20:10:44 +0000
committerCraig Topper <craig.topper@intel.com>2018-07-19 20:10:44 +0000
commit9888670c6be9d811e275e3faf40eb694d551a6a2 (patch)
treef295aebdc9b5198b6f5489482a9d8e3708e0b613
parent310a4c2bfe94b54e6d4ad21cdb1dce5d1525e1da (diff)
downloadbcm5719-llvm-9888670c6be9d811e275e3faf40eb694d551a6a2.tar.gz
bcm5719-llvm-9888670c6be9d811e275e3faf40eb694d551a6a2.zip
[X86] Fix some 'return SDValue()' after DCI.CombineTo instead return the output of CombineTo
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. llvm-svn: 337491
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp20
1 files changed, 7 insertions, 13 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index cd89094b455..5b0bc2092fe 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -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);
}
}
OpenPOWER on IntegriCloud