aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/Basic
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils/TableGen/Basic')
-rw-r--r--llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp40
-rw-r--r--llvm/utils/TableGen/Basic/VTEmitter.cpp4
2 files changed, 17 insertions, 27 deletions
diff --git a/llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp b/llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
index 45cb209..c96331c 100644
--- a/llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+++ b/llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
@@ -543,21 +543,8 @@ void RuntimeLibcallEmitter::emitSystemRuntimeLibrarySetCalls(
OS << "void llvm::RTLIB::RuntimeLibcallsInfo::setTargetRuntimeLibcallSets("
"const llvm::Triple &TT, ExceptionHandling ExceptionModel, "
"FloatABI::ABIType FloatABI, EABI EABIVersion, "
- "StringRef ABIName) {\n"
- " struct LibcallImplPair {\n"
- " RTLIB::Libcall Func;\n"
- " RTLIB::LibcallImpl Impl;\n"
- " };\n"
- " auto setLibcallsImpl = [this](\n"
- " ArrayRef<LibcallImplPair> Libcalls,\n"
- " std::optional<llvm::CallingConv::ID> CC = {})\n"
- " {\n"
- " for (const auto [Func, Impl] : Libcalls) {\n"
- " setLibcallImpl(Func, Impl);\n"
- " if (CC)\n"
- " setLibcallImplCallingConv(Impl, *CC);\n"
- " }\n"
- " };\n";
+ "StringRef ABIName) {\n";
+
ArrayRef<const Record *> AllLibs =
Records.getAllDerivedDefinitions("SystemRuntimeLibrary");
@@ -682,18 +669,21 @@ void RuntimeLibcallEmitter::emitSystemRuntimeLibrarySetCalls(
Funcs.erase(UniqueI, Funcs.end());
- OS << indent(IndentDepth + 2) << "setLibcallsImpl({\n";
+ StringRef CCEnum;
+ if (FuncsWithCC.CallingConv)
+ CCEnum = FuncsWithCC.CallingConv->getValueAsString("CallingConv");
+
for (const RuntimeLibcallImpl *LibCallImpl : Funcs) {
- OS << indent(IndentDepth + 4);
- LibCallImpl->emitTableEntry(OS);
- }
- OS << indent(IndentDepth + 2) << "}";
- if (FuncsWithCC.CallingConv) {
- StringRef CCEnum =
- FuncsWithCC.CallingConv->getValueAsString("CallingConv");
- OS << ", " << CCEnum;
+ OS << indent(IndentDepth + 2);
+ LibCallImpl->emitSetImplCall(OS);
+
+ if (FuncsWithCC.CallingConv) {
+ OS << indent(IndentDepth + 2) << "setLibcallImplCallingConv(";
+ LibCallImpl->emitEnumEntry(OS);
+ OS << ", " << CCEnum << ");\n";
+ }
}
- OS << ");\n\n";
+ OS << '\n';
if (!SubsetPredicate.isAlwaysAvailable()) {
OS << indent(IndentDepth);
diff --git a/llvm/utils/TableGen/Basic/VTEmitter.cpp b/llvm/utils/TableGen/Basic/VTEmitter.cpp
index c6b4d0b..301b27d 100644
--- a/llvm/utils/TableGen/Basic/VTEmitter.cpp
+++ b/llvm/utils/TableGen/Basic/VTEmitter.cpp
@@ -33,11 +33,11 @@ static void vTtoGetLlvmTyString(raw_ostream &OS, const Record *VT) {
bool IsRISCVVecTuple = VT->getValueAsBit("isRISCVVecTuple");
if (IsRISCVVecTuple) {
- unsigned NElem = VT->getValueAsInt("nElem");
+ unsigned NF = VT->getValueAsInt("NF");
unsigned Sz = VT->getValueAsInt("Size");
OS << "TargetExtType::get(Context, \"riscv.vector.tuple\", "
"ScalableVectorType::get(Type::getInt8Ty(Context), "
- << (Sz / (NElem * 8)) << "), " << NElem << ")";
+ << (Sz / (NF * 8)) << "), " << NF << ")";
return;
}