[llvm] [DAG] - computeKnownFPClass - ISD::FMAXIMUM/ISD::FMINIMUM + ISD::FMAXIMUMNUM/ISD::FMINIMUMNUM (PR #190465)

Kartik Ohlan via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 18 10:50:03 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,
----------------
Ko496-glitch wrote:

@arsenm  i mean then this will go to our first commit version no ? just wanted to make sure we are on same page with this one, i have inlined the lambda but then i think for my first commit i had that structure 

https://github.com/llvm/llvm-project/pull/190465


More information about the llvm-commits mailing list