mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-23 22:00:10 +00:00
[TargetLowering] Use LegalOnly operand to isOperationLegalOrCustom to simplify some code. NFC
This commit is contained in:
parent
1361c5e7d7
commit
8cc9c42a0c
@ -5158,11 +5158,9 @@ SDValue TargetLowering::BuildSDIV(SDNode *N, SelectionDAG &DAG,
|
||||
// Multiply the numerator (operand 0) by the magic value.
|
||||
// FIXME: We should support doing a MUL in a wider type.
|
||||
SDValue Q;
|
||||
if (IsAfterLegalization ? isOperationLegal(ISD::MULHS, VT)
|
||||
: isOperationLegalOrCustom(ISD::MULHS, VT))
|
||||
if (isOperationLegalOrCustom(ISD::MULHS, VT, IsAfterLegalization))
|
||||
Q = DAG.getNode(ISD::MULHS, dl, VT, N0, MagicFactor);
|
||||
else if (IsAfterLegalization ? isOperationLegal(ISD::SMUL_LOHI, VT)
|
||||
: isOperationLegalOrCustom(ISD::SMUL_LOHI, VT)) {
|
||||
else if (isOperationLegalOrCustom(ISD::SMUL_LOHI, VT, IsAfterLegalization)) {
|
||||
SDValue LoHi =
|
||||
DAG.getNode(ISD::SMUL_LOHI, dl, DAG.getVTList(VT, VT), N0, MagicFactor);
|
||||
Q = SDValue(LoHi.getNode(), 1);
|
||||
@ -5286,11 +5284,9 @@ SDValue TargetLowering::BuildUDIV(SDNode *N, SelectionDAG &DAG,
|
||||
|
||||
// FIXME: We should support doing a MUL in a wider type.
|
||||
auto GetMULHU = [&](SDValue X, SDValue Y) {
|
||||
if (IsAfterLegalization ? isOperationLegal(ISD::MULHU, VT)
|
||||
: isOperationLegalOrCustom(ISD::MULHU, VT))
|
||||
if (isOperationLegalOrCustom(ISD::MULHU, VT, IsAfterLegalization))
|
||||
return DAG.getNode(ISD::MULHU, dl, VT, X, Y);
|
||||
if (IsAfterLegalization ? isOperationLegal(ISD::UMUL_LOHI, VT)
|
||||
: isOperationLegalOrCustom(ISD::UMUL_LOHI, VT)) {
|
||||
if (isOperationLegalOrCustom(ISD::UMUL_LOHI, VT, IsAfterLegalization)) {
|
||||
SDValue LoHi =
|
||||
DAG.getNode(ISD::UMUL_LOHI, dl, DAG.getVTList(VT, VT), X, Y);
|
||||
return SDValue(LoHi.getNode(), 1);
|
||||
|
Loading…
Reference in New Issue
Block a user