xref: /freebsd-src/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.h (revision 349cc55c9796c4596a5b9904cd3281af295f878f)
1*349cc55cSDimitry Andric //===----------------------- OrcRTBootstrap.h -------------------*- C++ -*-===//
2*349cc55cSDimitry Andric //
3*349cc55cSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*349cc55cSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*349cc55cSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*349cc55cSDimitry Andric //
7*349cc55cSDimitry Andric //===----------------------------------------------------------------------===//
8*349cc55cSDimitry Andric //
9*349cc55cSDimitry Andric // OrcRTPrelinkImpl provides functions that should be linked into the executor
10*349cc55cSDimitry Andric // to bootstrap common JIT functionality (e.g. memory allocation and memory
11*349cc55cSDimitry Andric // access).
12*349cc55cSDimitry Andric //
13*349cc55cSDimitry Andric // Call rt_impl::addTo to add these functions to a bootstrap symbols map.
14*349cc55cSDimitry Andric //
15*349cc55cSDimitry Andric // FIXME: The functionality in this file should probably be moved to an ORC
16*349cc55cSDimitry Andric // runtime bootstrap library in compiler-rt.
17*349cc55cSDimitry Andric //
18*349cc55cSDimitry Andric //===----------------------------------------------------------------------===//
19*349cc55cSDimitry Andric 
20*349cc55cSDimitry Andric #ifndef LIB_EXECUTIONENGINE_ORC_TARGETPROCESS_ORCRTBOOTSTRAP_H
21*349cc55cSDimitry Andric #define LIB_EXECUTIONENGINE_ORC_TARGETPROCESS_ORCRTBOOTSTRAP_H
22*349cc55cSDimitry Andric 
23*349cc55cSDimitry Andric #include "llvm/ADT/StringMap.h"
24*349cc55cSDimitry Andric #include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
25*349cc55cSDimitry Andric 
26*349cc55cSDimitry Andric namespace llvm {
27*349cc55cSDimitry Andric namespace orc {
28*349cc55cSDimitry Andric namespace rt_bootstrap {
29*349cc55cSDimitry Andric 
30*349cc55cSDimitry Andric void addTo(StringMap<ExecutorAddr> &M);
31*349cc55cSDimitry Andric 
32*349cc55cSDimitry Andric } // namespace rt_bootstrap
33*349cc55cSDimitry Andric } // end namespace orc
34*349cc55cSDimitry Andric } // end namespace llvm
35*349cc55cSDimitry Andric 
36*349cc55cSDimitry Andric #endif // LLVM_EXECUTIONENGINE_ORC_TARGETPROCESS_ORCRTBOOTSTRAP_H
37