Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
llvmjit_internal.h
Go to the documentation of this file.
1/*
2 * Copyright 2025 Stanford University, NVIDIA Corporation
3 * SPDX-License-Identifier: Apache-2.0
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef LLVMJIT_INTERNAL_H
19#define LLVMJIT_INTERNAL_H
20
21#include "realm/realm_config.h"
22#include "realm/bytearray.h"
23
24#include <string>
25
26// instead of including LLVM headers here, we just forward-declare the things
27// that need to appear inside an LLVMJitInternal
28typedef struct LLVMOpaqueContext *LLVMContextRef;
29typedef struct LLVMOpaqueExecutionEngine *LLVMExecutionEngineRef;
30typedef struct LLVMTarget *LLVMTargetRef;
31
32namespace Realm {
33 namespace LLVMJit {
34
36 public:
39
40 void *llvmir_to_fnptr(const ByteArray &ir, const std::string &entry_symbol);
41
42#ifdef REALM_ALLOW_MISSING_LLVM_LIBS
43 static bool detect_llvm_libraries(void);
44#endif
45
46 protected:
50 };
51
52 }; // namespace LLVMJit
53
54}; // namespace Realm
55
56#endif
Definition bytearray.h:53
Definition llvmjit_internal.h:35
LLVMTargetRef nvptx_machine
Definition llvmjit_internal.h:49
LLVMContextRef context
Definition llvmjit_internal.h:47
LLVMExecutionEngineRef host_exec_engine
Definition llvmjit_internal.h:48
void * llvmir_to_fnptr(const ByteArray &ir, const std::string &entry_symbol)
struct LLVMTarget * LLVMTargetRef
Definition llvmjit_internal.h:30
struct LLVMOpaqueExecutionEngine * LLVMExecutionEngineRef
Definition llvmjit_internal.h:29
struct LLVMOpaqueContext * LLVMContextRef
Definition llvmjit_internal.h:28
Definition activemsg.h:38