mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-09 13:33:17 +00:00
Don't produce invalid comparisons after legalize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58320 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7fe5e1812f
commit
6e1c6231ba
@ -1720,7 +1720,8 @@ SDValue DAGCombiner::visitAND(SDNode *N) {
|
||||
if (LL == RL && LR == RR) {
|
||||
bool isInteger = LL.getValueType().isInteger();
|
||||
ISD::CondCode Result = ISD::getSetCCAndOperation(Op0, Op1, isInteger);
|
||||
if (Result != ISD::SETCC_INVALID)
|
||||
if (Result != ISD::SETCC_INVALID &&
|
||||
(!AfterLegalize || TLI.isCondCodeLegal(Result, LL.getValueType())))
|
||||
return DAG.getSetCC(N0.getValueType(), LL, LR, Result);
|
||||
}
|
||||
}
|
||||
@ -1904,7 +1905,8 @@ SDValue DAGCombiner::visitOR(SDNode *N) {
|
||||
if (LL == RL && LR == RR) {
|
||||
bool isInteger = LL.getValueType().isInteger();
|
||||
ISD::CondCode Result = ISD::getSetCCOrOperation(Op0, Op1, isInteger);
|
||||
if (Result != ISD::SETCC_INVALID)
|
||||
if (Result != ISD::SETCC_INVALID &&
|
||||
(!AfterLegalize || TLI.isCondCodeLegal(Result, LL.getValueType())))
|
||||
return DAG.getSetCC(N0.getValueType(), LL, LR, Result);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user