//===- RedirectionManager.h - Redirection manager interface -----*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Redirection manager interface that redirects a call to symbol to another. // //===----------------------------------------------------------------------===// #ifndef LLVM_EXECUTIONENGINE_ORC_REDIRECTIONMANAGER_H #define LLVM_EXECUTIONENGINE_ORC_REDIRECTIONMANAGER_H #include "llvm/ExecutionEngine/Orc/Core.h" namespace llvm { namespace orc { /// Base class for performing redirection of call to symbol to another symbol in /// runtime. class RedirectionManager { … }; /// Base class for managing redirectable symbols in which a call /// gets redirected to another symbol in runtime. class RedirectableSymbolManager : public RedirectionManager { … }; /// RedirectableMaterializationUnit materializes redirectable symbol /// by invoking RedirectableSymbolManager::emitRedirectableSymbols class RedirectableMaterializationUnit : public MaterializationUnit { … }; } // namespace orc } // namespace llvm #endif