MLIR
20.0.0git
|
#include "mlir/ExecutionEngine/ExecutionEngine.h"
Public Attributes | |
llvm::function_ref< std::unique_ptr< llvm::Module >Operation *, llvm::LLVMContext &)> | llvmModuleBuilder = nullptr |
If llvmModuleBuilder is provided, it will be used to create an LLVM module from the given MLIR IR. More... | |
llvm::function_ref< llvm::Error(llvm::Module *)> | transformer = {} |
If transformer is provided, it will be called on the LLVM module during JIT-compilation and can be used, e.g., for reporting or optimization. More... | |
std::optional< llvm::CodeGenOptLevel > | jitCodeGenOptLevel |
jitCodeGenOptLevel , when provided, is used as the optimization level for target code generation. More... | |
ArrayRef< StringRef > | sharedLibPaths = {} |
If sharedLibPaths are provided, the underlying JIT-compilation will open and link the shared libraries for symbol resolution. More... | |
llvm::SectionMemoryManager::MemoryMapper * | sectionMemoryMapper = nullptr |
Specifies an existing sectionMemoryMapper to be associated with the compiled code. More... | |
bool | enableObjectDump = false |
If enableObjectCache is set, the JIT compiler will create one to store the object generated for the given module. More... | |
bool | enableGDBNotificationListener = true |
If enable enableGDBNotificationListener is set, the JIT compiler will notify the llvm's global GDB notification listener. More... | |
bool | enablePerfNotificationListener = true |
If enablePerfNotificationListener is set, the JIT compiler will notify the llvm's global Perf notification listener. More... | |
Definition at line 57 of file ExecutionEngine.h.
bool mlir::ExecutionEngineOptions::enableGDBNotificationListener = true |
If enable enableGDBNotificationListener
is set, the JIT compiler will notify the llvm's global GDB notification listener.
Definition at line 97 of file ExecutionEngine.h.
bool mlir::ExecutionEngineOptions::enableObjectDump = false |
If enableObjectCache
is set, the JIT compiler will create one to store the object generated for the given module.
The contents of the cache can be dumped to a file via the dumpToObjectFile
method.
Definition at line 93 of file ExecutionEngine.h.
Referenced by compileAndExecute(), and mlirExecutionEngineCreate().
bool mlir::ExecutionEngineOptions::enablePerfNotificationListener = true |
If enablePerfNotificationListener
is set, the JIT compiler will notify the llvm's global Perf notification listener.
Definition at line 101 of file ExecutionEngine.h.
std::optional<llvm::CodeGenOptLevel> mlir::ExecutionEngineOptions::jitCodeGenOptLevel |
jitCodeGenOptLevel
, when provided, is used as the optimization level for target code generation.
Definition at line 71 of file ExecutionEngine.h.
Referenced by compileAndExecute(), and mlirExecutionEngineCreate().
llvm::function_ref<std::unique_ptr<llvm::Module>Operation *, llvm::LLVMContext &)> mlir::ExecutionEngineOptions::llvmModuleBuilder = nullptr |
If llvmModuleBuilder
is provided, it will be used to create an LLVM module from the given MLIR IR.
Otherwise, a default translateModuleToLLVMIR
function will be used to translate to LLVM IR.
Definition at line 63 of file ExecutionEngine.h.
Referenced by compileAndExecute().
llvm::SectionMemoryManager::MemoryMapper* mlir::ExecutionEngineOptions::sectionMemoryMapper = nullptr |
Specifies an existing sectionMemoryMapper
to be associated with the compiled code.
If none is provided, a default memory mapper that directly calls into the operating system is used.
Definition at line 88 of file ExecutionEngine.h.
ArrayRef<StringRef> mlir::ExecutionEngineOptions::sharedLibPaths = {} |
If sharedLibPaths
are provided, the underlying JIT-compilation will open and link the shared libraries for symbol resolution.
Libraries that are designed to be used with the ExecutionEngine
may implement a loading and unloading protocol: if they implement the two functions with the names defined in kLibraryInitFnName
and kLibraryDestroyFnName
, these functions will be called upon loading the library and upon destruction of the ExecutionEngine
. In the init function, the library may provide a list of symbols that it wants to make available to code run by the ExecutionEngine
. If the two functions are not defined, only symbols with public visibility are available to the executed code.
Definition at line 83 of file ExecutionEngine.h.
Referenced by compileAndExecute(), and mlirExecutionEngineCreate().
llvm::function_ref<llvm::Error(llvm::Module *)> mlir::ExecutionEngineOptions::transformer = {} |
If transformer
is provided, it will be called on the LLVM module during JIT-compilation and can be used, e.g., for reporting or optimization.
Definition at line 67 of file ExecutionEngine.h.
Referenced by compileAndExecute(), and mlirExecutionEngineCreate().