forked from OSchip/llvm-project
[X86] Remove combineShift function. Just dispatch directly to the handler for each flavor from the main switch. NFC
llvm-svn: 361108
This commit is contained in:
parent
4b105f5308
commit
3164b50af7
|
@ -37083,24 +37083,6 @@ static SDValue combineShiftRightLogical(SDNode *N, SelectionDAG &DAG,
|
||||||
return SDValue();
|
return SDValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
static SDValue combineShift(SDNode* N, SelectionDAG &DAG,
|
|
||||||
TargetLowering::DAGCombinerInfo &DCI,
|
|
||||||
const X86Subtarget &Subtarget) {
|
|
||||||
if (N->getOpcode() == ISD::SHL)
|
|
||||||
if (SDValue V = combineShiftLeft(N, DAG))
|
|
||||||
return V;
|
|
||||||
|
|
||||||
if (N->getOpcode() == ISD::SRA)
|
|
||||||
if (SDValue V = combineShiftRightArithmetic(N, DAG))
|
|
||||||
return V;
|
|
||||||
|
|
||||||
if (N->getOpcode() == ISD::SRL)
|
|
||||||
if (SDValue V = combineShiftRightLogical(N, DAG, DCI))
|
|
||||||
return V;
|
|
||||||
|
|
||||||
return SDValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static SDValue combineVectorPack(SDNode *N, SelectionDAG &DAG,
|
static SDValue combineVectorPack(SDNode *N, SelectionDAG &DAG,
|
||||||
TargetLowering::DAGCombinerInfo &DCI,
|
TargetLowering::DAGCombinerInfo &DCI,
|
||||||
const X86Subtarget &Subtarget) {
|
const X86Subtarget &Subtarget) {
|
||||||
|
@ -43258,9 +43240,9 @@ SDValue X86TargetLowering::PerformDAGCombine(SDNode *N,
|
||||||
case X86ISD::SBB: return combineSBB(N, DAG);
|
case X86ISD::SBB: return combineSBB(N, DAG);
|
||||||
case X86ISD::ADC: return combineADC(N, DAG, DCI);
|
case X86ISD::ADC: return combineADC(N, DAG, DCI);
|
||||||
case ISD::MUL: return combineMul(N, DAG, DCI, Subtarget);
|
case ISD::MUL: return combineMul(N, DAG, DCI, Subtarget);
|
||||||
case ISD::SHL:
|
case ISD::SHL: return combineShiftLeft(N, DAG);
|
||||||
case ISD::SRA:
|
case ISD::SRA: return combineShiftRightArithmetic(N, DAG);
|
||||||
case ISD::SRL: return combineShift(N, DAG, DCI, Subtarget);
|
case ISD::SRL: return combineShiftRightLogical(N, DAG, DCI);
|
||||||
case ISD::AND: return combineAnd(N, DAG, DCI, Subtarget);
|
case ISD::AND: return combineAnd(N, DAG, DCI, Subtarget);
|
||||||
case ISD::OR: return combineOr(N, DAG, DCI, Subtarget);
|
case ISD::OR: return combineOr(N, DAG, DCI, Subtarget);
|
||||||
case ISD::XOR: return combineXor(N, DAG, DCI, Subtarget);
|
case ISD::XOR: return combineXor(N, DAG, DCI, Subtarget);
|
||||||
|
|
Loading…
Reference in New Issue