diff --git a/llvm/lib/IR/RuntimeLibcalls.cpp b/llvm/lib/IR/RuntimeLibcalls.cpp index db0373055160c..d8451b818e8e3 100644 --- a/llvm/lib/IR/RuntimeLibcalls.cpp +++ b/llvm/lib/IR/RuntimeLibcalls.cpp @@ -278,4 +278,17 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) { } setLibcallName(RTLIB::MULO_I128, nullptr); } + + if (TT.isSystemZ() && TT.isOSzOS()) { + struct RTLibCallMapping { + RTLIB::Libcall Code; + const char *Name; + }; + static RTLibCallMapping RTLibCallCommon[] = { +#define HANDLE_LIBCALL(code, name) {RTLIB::code, name}, +#include "ZOSLibcallNames.def" + }; + for (auto &E : RTLibCallCommon) + setLibcallName(E.Code, E.Name); + } } diff --git a/llvm/lib/Target/SystemZ/ZOSLibcallNames.def b/llvm/lib/IR/ZOSLibcallNames.def similarity index 100% rename from llvm/lib/Target/SystemZ/ZOSLibcallNames.def rename to llvm/lib/IR/ZOSLibcallNames.def diff --git a/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp b/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp index 3b86a9bc58790..f06246706aaa9 100644 --- a/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp +++ b/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp @@ -828,19 +828,6 @@ SystemZTargetLowering::SystemZTargetLowering(const TargetMachine &TM, // Default to having -disable-strictnode-mutation on IsStrictFPEnabled = true; - - if (Subtarget.isTargetzOS()) { - struct RTLibCallMapping { - RTLIB::Libcall Code; - const char *Name; - }; - static RTLibCallMapping RTLibCallCommon[] = { -#define HANDLE_LIBCALL(code, name) {RTLIB::code, name}, -#include "ZOSLibcallNames.def" - }; - for (auto &E : RTLibCallCommon) - setLibcallName(E.Code, E.Name); - } } bool SystemZTargetLowering::useSoftFloat() const {