13#ifndef LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H
14#define LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H
30IRSymbolMapper::ManglingOptions
75 std::shared_ptr<llvm::TargetMachine> TM;
Machine Check Debug Module
const char LLVMTargetMachineRef 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.
A thread-safe version of SimpleCompiler.
void setObjectCache(ObjectCache *ObjCache)
Expected< std::unique_ptr< MemoryBuffer > > operator()(Module &M) override
IRCompiler(IRSymbolMapper::ManglingOptions MO)
A utility class for building TargetMachines for JITs.
Simple compile functor: Takes a single IR module and returns an ObjectFile.
std::unique_ptr< MemoryBuffer > CompileResult
Expected< CompileResult > operator()(Module &M) override
Compile a Module to an ObjectFile.
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.
A SimpleCompiler that owns its TargetMachine.
TMOwningSimpleCompiler(std::unique_ptr< TargetMachine > TM, ObjectCache *ObjCache=nullptr)
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.