|
MLIR 22.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. | |
| 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. | |
| std::optional< llvm::CodeGenOptLevel > | jitCodeGenOptLevel |
| jitCodeGenOptLevel, when provided, is used as the optimization level for target code generation. | |
| ArrayRef< StringRef > | sharedLibPaths = {} |
| If sharedLibPaths are provided, the underlying JIT-compilation will open and link the shared libraries for symbol resolution. | |
| llvm::SectionMemoryManager::MemoryMapper * | sectionMemoryMapper = nullptr |
| Specifies an existing sectionMemoryMapper to be associated with the compiled code. | |
| bool | enableObjectDump = false |
| If enableObjectCache is set, the JIT compiler will create one to store the object generated for the given module. | |
| bool | enableGDBNotificationListener = true |
| If enable enableGDBNotificationListener is set, the JIT compiler will notify the llvm's global GDB notification listener. | |
| bool | enablePerfNotificationListener = true |
| If enablePerfNotificationListener is set, the JIT compiler will notify the llvm's global Perf notification listener. | |
Definition at line 57 of file ExecutionEngine.h.
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.
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().
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().