xref: /llvm-project/offload/liboffload/src/OffloadLib.cpp (revision fd3907ccb583df99e9c19d2fe84e4e7c52d75de9)
1*fd3907ccSCallum Fare //===- offload_lib.cpp - Entry points for the new LLVM/Offload API --------===//
2*fd3907ccSCallum Fare //
3*fd3907ccSCallum Fare // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*fd3907ccSCallum Fare // See https://llvm.org/LICENSE.txt for license information.
5*fd3907ccSCallum Fare // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*fd3907ccSCallum Fare //
7*fd3907ccSCallum Fare //===----------------------------------------------------------------------===//
8*fd3907ccSCallum Fare //
9*fd3907ccSCallum Fare // This file pulls in the tablegen'd API entry point functions.
10*fd3907ccSCallum Fare //
11*fd3907ccSCallum Fare //===----------------------------------------------------------------------===//
12*fd3907ccSCallum Fare 
13*fd3907ccSCallum Fare #include "OffloadImpl.hpp"
14*fd3907ccSCallum Fare #include <OffloadAPI.h>
15*fd3907ccSCallum Fare #include <OffloadPrint.hpp>
16*fd3907ccSCallum Fare 
17*fd3907ccSCallum Fare #include <iostream>
18*fd3907ccSCallum Fare 
19*fd3907ccSCallum Fare llvm::StringSet<> &errorStrs() {
20*fd3907ccSCallum Fare   static llvm::StringSet<> ErrorStrs;
21*fd3907ccSCallum Fare   return ErrorStrs;
22*fd3907ccSCallum Fare }
23*fd3907ccSCallum Fare 
24*fd3907ccSCallum Fare ErrSetT &errors() {
25*fd3907ccSCallum Fare   static ErrSetT Errors{};
26*fd3907ccSCallum Fare   return Errors;
27*fd3907ccSCallum Fare }
28*fd3907ccSCallum Fare 
29*fd3907ccSCallum Fare ol_code_location_t *&currentCodeLocation() {
30*fd3907ccSCallum Fare   thread_local ol_code_location_t *CodeLoc = nullptr;
31*fd3907ccSCallum Fare   return CodeLoc;
32*fd3907ccSCallum Fare }
33*fd3907ccSCallum Fare 
34*fd3907ccSCallum Fare OffloadConfig &offloadConfig() {
35*fd3907ccSCallum Fare   static OffloadConfig Config{};
36*fd3907ccSCallum Fare   return Config;
37*fd3907ccSCallum Fare }
38*fd3907ccSCallum Fare 
39*fd3907ccSCallum Fare // Pull in the declarations for the implementation funtions. The actual entry
40*fd3907ccSCallum Fare // points in this file wrap these.
41*fd3907ccSCallum Fare #include "OffloadImplFuncDecls.inc"
42*fd3907ccSCallum Fare 
43*fd3907ccSCallum Fare // Pull in the tablegen'd entry point definitions.
44*fd3907ccSCallum Fare #include "OffloadEntryPoints.inc"
45