18 #include "llvm/ExecutionEngine/Orc/CompileUtils.h"
19 #include "llvm/ExecutionEngine/Orc/IRCompileLayer.h"
20 #include "llvm/ExecutionEngine/Orc/IRTransformLayer.h"
21 #include "llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h"
22 #include "llvm/Target/TargetMachine.h"
26 namespace polyhedral {
32 std::unique_ptr<llvm::TargetMachine>
TM_;
33 const llvm::DataLayout
DL_;
35 llvm::orc::IRCompileLayer<decltype(objectLayer_), llvm::orc::SimpleCompiler>
42 const std::string& specializedName,
43 const polyhedral::Scop& scop);
49 llvm::JITSymbol
findSymbol(
const std::string name);
llvm::orc::RTDyldObjectLinkingLayer objectLayer_
Definition: llvm_jit.h:34
void removeModule(ModuleHandle H)
void codegenScop(const std::string &specializedName, const polyhedral::Scop &scop)
decltype(compileLayer_)::ModuleHandleT ModuleHandle
Definition: llvm_jit.h:45
llvm::orc::IRCompileLayer< decltype(objectLayer_), llvm::orc::SimpleCompiler > compileLayer_
Definition: llvm_jit.h:36
llvm::JITSymbol findSymbol(const std::string name)
const llvm::DataLayout DL_
Definition: llvm_jit.h:33
llvm::JITTargetAddress getSymbolAddress(const std::string name)
llvm::TargetMachine & getTargetMachine()
ModuleHandle addModule(std::unique_ptr< llvm::Module > M)
std::unique_ptr< llvm::TargetMachine > TM_
Definition: llvm_jit.h:32
Definition: llvm_jit.h:30