From 9888670c6be9d811e275e3faf40eb694d551a6a2 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Thu, 19 Jul 2018 20:10:44 +0000 Subject: [PATCH] [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 --- llvm/lib/Target/X86/X86ISelLowering.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index cd89094b455b..5b0bc2092fea 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); } }