LLVM  3.7.0
Classes | Namespaces | Functions
IndirectionUtils.h File Reference
#include "JITSymbol.h"
#include "LambdaResolver.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ExecutionEngine/RuntimeDyld.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Mangler.h"
#include "llvm/IR/Module.h"
#include "llvm/Transforms/Utils/ValueMapper.h"
#include <sstream>
Include dependency graph for IndirectionUtils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::orc::JITCompileCallbackManagerBase
 Base class for JITLayer independent aspects of JITCompileCallbackManager. More...
 
class  llvm::orc::JITCompileCallbackManagerBase::CompileCallbackInfo
 Handle to a newly created compile callback. More...
 
class  llvm::orc::JITCompileCallbackManager< JITLayerT, TargetT >
 Manage compile callbacks. More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::orc
 

Functions

Constant * llvm::orc::createIRTypedAddress (FunctionType &FT, TargetAddress Addr)
 Build a function pointer of FunctionType with the given constant address. More...
 
GlobalVariable * llvm::orc::createImplPointer (PointerType &PT, Module &M, const Twine &Name, Constant *Initializer)
 Create a function pointer with the given type, name, and initializer in the given Module. More...
 
void llvm::orc::makeStub (Function &F, GlobalVariable &ImplPointer)
 Turn a function declaration into a stub function that makes an indirect call using the given function pointer. More...
 
void llvm::orc::makeAllSymbolsExternallyAccessible (Module &M)
 Raise linkage types and rename as necessary to ensure that all symbols are accessible for other modules. More...
 
Function * llvm::orc::cloneFunctionDecl (Module &Dst, const Function &F, ValueToValueMapTy *VMap=nullptr)
 Clone a function declaration into a new module. More...
 
void llvm::orc::moveFunctionBody (Function &OrigF, ValueToValueMapTy &VMap, ValueMaterializer *Materializer=nullptr, Function *NewF=nullptr)
 Move the body of function 'F' to a cloned function declaration in a different module (See related cloneFunctionDecl). More...
 
GlobalVariable * llvm::orc::cloneGlobalVariableDecl (Module &Dst, const GlobalVariable &GV, ValueToValueMapTy *VMap=nullptr)
 Clone a global variable declaration into a new module. More...
 
void llvm::orc::moveGlobalVariableInitializer (GlobalVariable &OrigGV, ValueToValueMapTy &VMap, ValueMaterializer *Materializer=nullptr, GlobalVariable *NewGV=nullptr)
 Move global variable GV from its parent module to cloned global declaration in a different module. More...