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