xref: /llvm-project/llvm/lib/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.h (revision c2cc70e4f534f445693d4ffb6fb8955c3e0bc2be)
12c8e7849SLang Hames //===----------------------- OrcRTBootstrap.h -------------------*- C++ -*-===//
22c8e7849SLang Hames //
32c8e7849SLang Hames // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
42c8e7849SLang Hames // See https://llvm.org/LICENSE.txt for license information.
52c8e7849SLang Hames // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
62c8e7849SLang Hames //
72c8e7849SLang Hames //===----------------------------------------------------------------------===//
82c8e7849SLang Hames //
92c8e7849SLang Hames // OrcRTPrelinkImpl provides functions that should be linked into the executor
102c8e7849SLang Hames // to bootstrap common JIT functionality (e.g. memory allocation and memory
112c8e7849SLang Hames // access).
122c8e7849SLang Hames //
132c8e7849SLang Hames // Call rt_impl::addTo to add these functions to a bootstrap symbols map.
142c8e7849SLang Hames //
152c8e7849SLang Hames // FIXME: The functionality in this file should probably be moved to an ORC
162c8e7849SLang Hames // runtime bootstrap library in compiler-rt.
172c8e7849SLang Hames //
182c8e7849SLang Hames //===----------------------------------------------------------------------===//
192c8e7849SLang Hames 
202c8e7849SLang Hames #ifndef LIB_EXECUTIONENGINE_ORC_TARGETPROCESS_ORCRTBOOTSTRAP_H
212c8e7849SLang Hames #define LIB_EXECUTIONENGINE_ORC_TARGETPROCESS_ORCRTBOOTSTRAP_H
222c8e7849SLang Hames 
232c8e7849SLang Hames #include "llvm/ADT/StringMap.h"
242c8e7849SLang Hames #include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
252c8e7849SLang Hames 
262c8e7849SLang Hames namespace llvm {
272c8e7849SLang Hames namespace orc {
282c8e7849SLang Hames namespace rt_bootstrap {
292c8e7849SLang Hames 
30ef391df2SLang Hames void addTo(StringMap<ExecutorAddr> &M);
312c8e7849SLang Hames 
322c8e7849SLang Hames } // namespace rt_bootstrap
332c8e7849SLang Hames } // end namespace orc
342c8e7849SLang Hames } // end namespace llvm
352c8e7849SLang Hames 
36*c2cc70e4SQiu Chaofan #endif // LIB_EXECUTIONENGINE_ORC_TARGETPROCESS_ORCRTBOOTSTRAP_H
37