[llvm] [LLVM] Move libcall <-> ISD::NodeType association into libcall tablegen (PR #204029)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 31 05:35:37 PDT 2026


================
@@ -548,6 +567,139 @@ void RuntimeLibcallEmitter::emitSystemRuntimeLibrarySetCalls(
         "}\n\n";
 }
 
+// Scalar FP type suffixes in the argument order of RTLIB::getFPLibCall, paired
+// with the llvm::Type predicate used by the IR-level mapping.
+static constexpr std::pair<StringRef, StringRef> ScalarFPSuffixes[] = {
+    {"F32", "isFloatTy()"},         {"F64", "isDoubleTy()"},
+    {"F80", "isX86_FP80Ty()"},      {"F128", "isFP128Ty()"},
+    {"PPCF128", "isPPC_FP128Ty()"},
+};
+
+static std::vector<FPLibcallFamily>
+collectFPLibcallFamilies(const RecordKeeper &Records) {
+  std::vector<FPLibcallFamily> Families;
+  for (const Record *R :
+       Records.getAllDerivedDefinitions("RuntimeLibcallFamily")) {
+    FPLibcallFamily Family;
----------------
arsenm wrote:

Move this into a constructor for FPLibcallFamily

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


More information about the llvm-commits mailing list