diff options
Diffstat (limited to 'offload/tools/offload-tblgen/FuncsGen.cpp')
| -rw-r--r-- | offload/tools/offload-tblgen/FuncsGen.cpp | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/offload/tools/offload-tblgen/FuncsGen.cpp b/offload/tools/offload-tblgen/FuncsGen.cpp deleted file mode 100644 index 323865217619..000000000000 --- a/offload/tools/offload-tblgen/FuncsGen.cpp +++ /dev/null @@ -1,74 +0,0 @@ -//===- offload-tblgen/APIGen.cpp - Tablegen backend for Offload functions -===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This is a Tablegen backend that handles generation of various small files -// pertaining to the API functions. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Support/FormatVariadic.h" -#include "llvm/TableGen/Record.h" - -#include "GenCommon.hpp" -#include "RecordTypes.hpp" - -using namespace llvm; -using namespace offload::tblgen; - -// Emit a list of just the API function names -void EmitOffloadFuncNames(const RecordKeeper &Records, raw_ostream &OS) { - OS << GenericHeader; - OS << R"( -#ifndef OFFLOAD_FUNC -#error Please define the macro OFFLOAD_FUNC(Function) -#endif - -)"; - for (auto *R : Records.getAllDerivedDefinitions("Function")) { - FunctionRec FR{R}; - OS << formatv("OFFLOAD_FUNC({0})", FR.getName()) << "\n"; - } - for (auto *R : Records.getAllDerivedDefinitions("Function")) { - FunctionRec FR{R}; - OS << formatv("OFFLOAD_FUNC({0}WithCodeLoc)", FR.getName()) << "\n"; - } - - OS << "\n#undef OFFLOAD_FUNC\n"; -} - -void EmitOffloadExports(const RecordKeeper &Records, raw_ostream &OS) { - OS << "VERS1.0 {\n"; - OS << TAB_1 "global:\n"; - - for (auto *R : Records.getAllDerivedDefinitions("Function")) { - OS << formatv(TAB_2 "{0};\n", FunctionRec(R).getName()); - } - for (auto *R : Records.getAllDerivedDefinitions("Function")) { - OS << formatv(TAB_2 "{0}WithCodeLoc;\n", FunctionRec(R).getName()); - } - OS << TAB_1 "local:\n"; - OS << TAB_2 "*;\n"; - OS << "};\n"; -} - -// Emit declarations for every implementation function -void EmitOffloadImplFuncDecls(const RecordKeeper &Records, raw_ostream &OS) { - OS << GenericHeader; - for (auto *R : Records.getAllDerivedDefinitions("Function")) { - FunctionRec F{R}; - OS << formatv("{0}_impl_result_t {1}_impl(", PrefixLower, F.getName()); - auto Params = F.getParams(); - for (auto &Param : Params) { - OS << Param.getType() << " " << Param.getName(); - if (Param != Params.back()) { - OS << ", "; - } - } - OS << ");\n\n"; - } -} |
