mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-23 17:29:19 +00:00
Add some legality checks for SETCC before introducing it in the DAG combiner post-operand legalization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175149 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c8c82dc1cc
commit
39125d9a3a
@ -2634,7 +2634,9 @@ SDValue DAGCombiner::visitAND(SDNode *N) {
|
||||
ISD::CondCode Result = ISD::getSetCCAndOperation(Op0, Op1, isInteger);
|
||||
if (Result != ISD::SETCC_INVALID &&
|
||||
(!LegalOperations ||
|
||||
TLI.isCondCodeLegal(Result, LL.getSimpleValueType())))
|
||||
(TLI.isCondCodeLegal(Result, LL.getSimpleValueType()) &&
|
||||
TLI.isOperationLegal(ISD::SETCC,
|
||||
TLI.getSetCCResultType(N0.getSimpleValueType())))))
|
||||
return DAG.getSetCC(N->getDebugLoc(), N0.getValueType(),
|
||||
LL, LR, Result);
|
||||
}
|
||||
@ -3144,7 +3146,9 @@ SDValue DAGCombiner::visitOR(SDNode *N) {
|
||||
ISD::CondCode Result = ISD::getSetCCOrOperation(Op0, Op1, isInteger);
|
||||
if (Result != ISD::SETCC_INVALID &&
|
||||
(!LegalOperations ||
|
||||
TLI.isCondCodeLegal(Result, LL.getSimpleValueType())))
|
||||
(TLI.isCondCodeLegal(Result, LL.getSimpleValueType()) &&
|
||||
TLI.isOperationLegal(ISD::SETCC,
|
||||
TLI.getSetCCResultType(N0.getValueType())))))
|
||||
return DAG.getSetCC(N->getDebugLoc(), N0.getValueType(),
|
||||
LL, LR, Result);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user