Go to the documentation of this file.
13 #ifndef LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H
14 #define LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H
30 IRSymbolMapper::ManglingOptions
75 std::shared_ptr<llvm::TargetMachine> TM;
100 #endif // LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H
Expected< std::unique_ptr< MemoryBuffer > > operator()(Module &M) override
A utility class for building TargetMachines for JITs.
This is an optimization pass for GlobalISel generic memory operations.
A SimpleCompiler that owns its TargetMachine.
ConcurrentIRCompiler(JITTargetMachineBuilder JTMB, ObjectCache *ObjCache=nullptr)
void setObjectCache(ObjectCache *NewCache)
Set an ObjectCache to query before compiling.
This is the base ObjectCache type which can be provided to an ExecutionEngine for the purpose of avoi...
std::unique_ptr< MemoryBuffer > CompileResult
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...
Simple compile functor: Takes a single IR module and returns an ObjectFile.
IRCompiler(IRSymbolMapper::ManglingOptions MO)
SimpleCompiler(TargetMachine &TM, ObjectCache *ObjCache=nullptr)
Construct a simple compile functor with the given target.
const char LLVMTargetMachineRef LLVMPassBuilderOptionsRef Options
IRSymbolMapper::ManglingOptions irManglingOptionsFromTargetOptions(const TargetOptions &Opts)
Primary interface to the complete machine description for the target machine.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
A Module instance is used to store all the information related to an LLVM module.
Machine Check Debug Module
void setObjectCache(ObjectCache *ObjCache)
Expected< CompileResult > operator()(Module &M) override
Compile a Module to an ObjectFile.
A thread-safe version of SimpleCompiler.
TMOwningSimpleCompiler(std::unique_ptr< TargetMachine > TM, ObjectCache *ObjCache=nullptr)
const char LLVMTargetMachineRef TM