13#ifndef LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H
14#define LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H
56 CompileResult tryToLoadFromObjectCache(
const Module &M);
76 std::shared_ptr<llvm::TargetMachine> TM;
Tagged union holding either a T or a Error.
This interface provides simple read-only access to a block of memory, and provides simple methods for...
A Module instance is used to store all the information related to an LLVM module.
This is the base ObjectCache type which can be provided to an ExecutionEngine for the purpose of avoi...
Primary interface to the complete machine description for the target machine.
void setObjectCache(ObjectCache *ObjCache)
ConcurrentIRCompiler(JITTargetMachineBuilder JTMB, ObjectCache *ObjCache=nullptr)
IRCompiler(IRSymbolMapper::ManglingOptions MO)
A utility class for building TargetMachines for JITs.
std::unique_ptr< MemoryBuffer > CompileResult
SimpleCompiler(TargetMachine &TM, ObjectCache *ObjCache=nullptr)
Construct a simple compile functor with the given target.
void setObjectCache(ObjectCache *NewCache)
Set an ObjectCache to query before compiling.
TMOwningSimpleCompiler(std::unique_ptr< TargetMachine > TM, ObjectCache *ObjCache=nullptr)
LLVM_ABI IRSymbolMapper::ManglingOptions irManglingOptionsFromTargetOptions(const TargetOptions &Opts)
This is an optimization pass for GlobalISel generic memory operations.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.