MLIR  20.0.0git
Public Attributes | List of all members
mlir::ExecutionEngineOptions Struct Reference

#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...
 

Detailed Description

Definition at line 57 of file ExecutionEngine.h.

Member Data Documentation

◆ enableGDBNotificationListener

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.

◆ enableObjectDump

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().

◆ enablePerfNotificationListener

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.

◆ jitCodeGenOptLevel

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().

◆ llvmModuleBuilder

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().

◆ sectionMemoryMapper

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.

◆ sharedLibPaths

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().

◆ transformer

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().


The documentation for this struct was generated from the following file: