[llvm] [DAG] - computeKnownFPClass - ISD::FMAXIMUM/ISD::FMINIMUM + ISD::FMAXIMUMNUM/ISD::FMINIMUMNUM (PR #190465)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 17 11:53:22 PDT 2026
================
@@ -6026,10 +6026,43 @@ KnownFPClass SelectionDAG::computeKnownFPClass(SDValue Op,
return computeKnownFPClass(Op, DemandedElts, InterestedClasses, Depth);
}
+static KnownFPClass::MinMaxKind getMinMaxKindForFPOpcode(unsigned Opcode) {
+ switch (Opcode) {
+ case ISD::FMAXNUM:
+ return KnownFPClass::MinMaxKind::maxnum;
+ case ISD::FMINNUM:
+ return KnownFPClass::MinMaxKind::minnum;
+ case ISD::FMAXIMUM:
+ return KnownFPClass::MinMaxKind::maximum;
+ case ISD::FMINIMUM:
+ return KnownFPClass::MinMaxKind::minimum;
+ case ISD::FMAXIMUMNUM:
+ return KnownFPClass::MinMaxKind::maximumnum;
+ case ISD::FMINIMUMNUM:
+ return KnownFPClass::MinMaxKind::minimumnum;
+ default:
+ llvm_unreachable("Illegal FP min/max opcode");
+ }
+}
+
KnownFPClass SelectionDAG::computeKnownFPClass(SDValue Op,
const APInt &DemandedElts,
FPClassTest InterestedClasses,
unsigned Depth) const {
+
+ auto GetMinMaxKnownFPClass = [&](SDValue LHS, SDValue RHS,
----------------
arsenm wrote:
This should still just be inlined directly into the switch, it has a single use
https://github.com/llvm/llvm-project/pull/190465
More information about the llvm-commits
mailing list