From 7e21b797366dfef929c2cde70820d674344c21f7 Mon Sep 17 00:00:00 2001 From: Alex Maclean Date: Wed, 13 Nov 2024 16:56:08 +0000 Subject: [PATCH 1/2] [SelectionDAG] Fixup type usage of CondCodeAction table --- llvm/include/llvm/CodeGen/TargetLowering.h | 7 ++++--- llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/llvm/include/llvm/CodeGen/TargetLowering.h b/llvm/include/llvm/CodeGen/TargetLowering.h index e0b638201a047..b0cda386e8ac0 100644 --- a/llvm/include/llvm/CodeGen/TargetLowering.h +++ b/llvm/include/llvm/CodeGen/TargetLowering.h @@ -1618,13 +1618,14 @@ class TargetLoweringBase { return Action; } - /// Return true if the specified condition code is legal on this target. + /// Return true if the specified condition code is legal for a comparison of + /// the specified types on this target. bool isCondCodeLegal(ISD::CondCode CC, MVT VT) const { return getCondCodeAction(CC, VT) == Legal; } - /// Return true if the specified condition code is legal or custom on this - /// target. + /// Return true if the specified condition code is legal or custom for a + /// comparison of on this target. bool isCondCodeLegalOrCustom(ISD::CondCode CC, MVT VT) const { return getCondCodeAction(CC, VT) == Legal || getCondCodeAction(CC, VT) == Custom; diff --git a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp index 8287565336b54..307461cd735e8 100644 --- a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp @@ -4975,7 +4975,7 @@ SDValue TargetLowering::SimplifySetCC(EVT VT, SDValue N0, SDValue N1, APInt C = C1 - 1; ISD::CondCode NewCC = (Cond == ISD::SETGE) ? ISD::SETGT : ISD::SETUGT; if ((DCI.isBeforeLegalizeOps() || - isCondCodeLegal(NewCC, VT.getSimpleVT())) && + isCondCodeLegal(NewCC, OpVT.getSimpleVT())) && (!N1C->isOpaque() || (C.getBitWidth() <= 64 && isLegalICmpImmediate(C.getSExtValue())))) { return DAG.getSetCC(dl, VT, N0, @@ -4995,7 +4995,7 @@ SDValue TargetLowering::SimplifySetCC(EVT VT, SDValue N0, SDValue N1, APInt C = C1 + 1; ISD::CondCode NewCC = (Cond == ISD::SETLE) ? ISD::SETLT : ISD::SETULT; if ((DCI.isBeforeLegalizeOps() || - isCondCodeLegal(NewCC, VT.getSimpleVT())) && + isCondCodeLegal(NewCC, OpVT.getSimpleVT())) && (!N1C->isOpaque() || (C.getBitWidth() <= 64 && isLegalICmpImmediate(C.getSExtValue())))) { return DAG.getSetCC(dl, VT, N0, From 6dcf02eb9a1b831f7f5d73dbd2d44bd0d4c1dca5 Mon Sep 17 00:00:00 2001 From: Alex Maclean Date: Wed, 13 Nov 2024 19:36:11 +0000 Subject: [PATCH 2/2] fix typo --- llvm/include/llvm/CodeGen/TargetLowering.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/include/llvm/CodeGen/TargetLowering.h b/llvm/include/llvm/CodeGen/TargetLowering.h index b0cda386e8ac0..b6125bbd48b8f 100644 --- a/llvm/include/llvm/CodeGen/TargetLowering.h +++ b/llvm/include/llvm/CodeGen/TargetLowering.h @@ -1625,7 +1625,7 @@ class TargetLoweringBase { } /// Return true if the specified condition code is legal or custom for a - /// comparison of on this target. + /// comparison of the specified types on this target. bool isCondCodeLegalOrCustom(ISD::CondCode CC, MVT VT) const { return getCondCodeAction(CC, VT) == Legal || getCondCodeAction(CC, VT) == Custom;