CIRCT 22.0.0git
Loading...
Searching...
No Matches
JITBind.h
Go to the documentation of this file.
1//===- JITBind.h - ArcRuntime JIT symbol binding helper -------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// Declares the helper struct used to bind the IR interface to the MLIR
10// Execution Engine without relying on the linker.
11//
12// This file is specific to the runtime implementation statically linked into
13// the arcilator tool and not part of the runtime's API.
14//
15//===----------------------------------------------------------------------===//
16
17#ifndef CIRCT_DIALECT_ARC_RUNTIME_JITBIND_H
18#define CIRCT_DIALECT_ARC_RUNTIME_JITBIND_H
19
20namespace circt {
21namespace arc {
22namespace runtime {
23
25 uint8_t *(*fnAllocInstance)(const ArcRuntimeModelInfo *model,
26 const char *args);
27 void (*fnDeleteInstance)(uint8_t *simState);
28 void (*fnOnEval)(uint8_t *simState);
29
30 static constexpr char symNameAllocInstance[] = "arcRuntimeIR_allocInstance";
31 static constexpr char symNameDeleteInstance[] = "arcRuntimeIR_deleteInstance";
32 static constexpr char symNameOnEval[] = "arcRuntimeIR_onEval";
33};
34
35#ifdef ARC_RUNTIME_JITBIND_FNDECL
36const APICallbacks &getArcRuntimeAPICallbacks();
37#endif // ARC_RUNTIME_JITBIND_FNDECL
38
39} // namespace runtime
40} // namespace arc
41} // namespace circt
42
43#endif // CIRCT_DIALECT_ARC_RUNTIME_JITBIND_H
Definition arc.py:1
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Static information for a compiled hardware model, generated by the MLIR lowering.
Definition Common.h:57
static constexpr char symNameOnEval[]
Definition JITBind.h:32
static constexpr char symNameAllocInstance[]
Definition JITBind.h:30
static constexpr char symNameDeleteInstance[]
Definition JITBind.h:31
void(* fnOnEval)(uint8_t *simState)
Definition JITBind.h:28
void(* fnDeleteInstance)(uint8_t *simState)
Definition JITBind.h:27