MLIR
20.0.0git
|
#include "mlir-c/ExecutionEngine.h"
#include "mlir/CAPI/ExecutionEngine.h"
#include "mlir/CAPI/IR.h"
#include "mlir/CAPI/Support.h"
#include "mlir/ExecutionEngine/OptUtils.h"
#include "mlir/Target/LLVMIR/Dialect/Builtin/BuiltinToLLVMIRTranslation.h"
#include "mlir/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.h"
#include "mlir/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.h"
#include "llvm/ExecutionEngine/Orc/Mangling.h"
#include "llvm/Support/TargetSelect.h"
Go to the source code of this file.
Functions | |
MlirExecutionEngine | mlirExecutionEngineCreate (MlirModule op, int optLevel, int numPaths, const MlirStringRef *sharedLibPaths, bool enableObjectDump) |
Creates an ExecutionEngine for the provided ModuleOp. More... | |
void | mlirExecutionEngineDestroy (MlirExecutionEngine jit) |
Destroy an ExecutionEngine instance. More... | |
MlirLogicalResult | mlirExecutionEngineInvokePacked (MlirExecutionEngine jit, MlirStringRef name, void **arguments) |
Invoke a native function in the execution engine by name with the arguments and result of the invoked function passed as an array of pointers. More... | |
void * | mlirExecutionEngineLookupPacked (MlirExecutionEngine jit, MlirStringRef name) |
Lookup the wrapper of the native function in the execution engine with the given name, returns nullptr if the function can't be looked-up. More... | |
void * | mlirExecutionEngineLookup (MlirExecutionEngine jit, MlirStringRef name) |
Lookup a native function in the execution engine by name, returns nullptr if the name can't be looked-up. More... | |
void | mlirExecutionEngineRegisterSymbol (MlirExecutionEngine jit, MlirStringRef name, void *sym) |
Register a symbol with the jit: this symbol will be accessible to the jitted code. More... | |
void | mlirExecutionEngineDumpToObjectFile (MlirExecutionEngine jit, MlirStringRef name) |
Dump as an object in fileName . More... | |
MlirExecutionEngine mlirExecutionEngineCreate | ( | MlirModule | op, |
int | optLevel, | ||
int | numPaths, | ||
const MlirStringRef * | sharedLibPaths, | ||
bool | enableObjectDump | ||
) |
Creates an ExecutionEngine for the provided ModuleOp.
The ModuleOp is expected to be "translatable" to LLVM IR (only contains operations in dialects that implement the LLVMTranslationDialectInterface
). The module ownership stays with the client and can be destroyed as soon as the call returns. optLevel
is the optimization level to be used for transformation and code generation. LLVM passes at optLevel
are run before code generation. The number and array of paths corresponding to shared libraries that will be loaded are specified via numPaths
and sharedLibPaths
respectively. TODO: figure out other options.
Definition at line 23 of file ExecutionEngine.cpp.
References mlir::ExecutionEngine::create(), MlirStringRef::data, mlir::ExecutionEngineOptions::enableObjectDump, mlir::ExecutionEngineOptions::jitCodeGenOptLevel, mlir::makeOptimizingTransformer(), mlir::registerBuiltinDialectTranslation(), mlir::registerLLVMDialectTranslation(), mlir::registerOpenMPDialectTranslation(), mlir::ExecutionEngineOptions::sharedLibPaths, mlir::ExecutionEngineOptions::transformer, unwrap(), and wrap().
void mlirExecutionEngineDestroy | ( | MlirExecutionEngine | jit | ) |
Destroy an ExecutionEngine instance.
Definition at line 71 of file ExecutionEngine.cpp.
References unwrap().
void mlirExecutionEngineDumpToObjectFile | ( | MlirExecutionEngine | jit, |
MlirStringRef | name | ||
) |
Dump as an object in fileName
.
Definition at line 114 of file ExecutionEngine.cpp.
References unwrap().
MlirLogicalResult mlirExecutionEngineInvokePacked | ( | MlirExecutionEngine | jit, |
MlirStringRef | name, | ||
void ** | arguments | ||
) |
Invoke a native function in the execution engine by name with the arguments and result of the invoked function passed as an array of pointers.
The function must have been tagged with the llvm.emit_c_interface
attribute. Returns a failure if the execution fails for any reason (the function name can't be resolved for instance).
Definition at line 76 of file ExecutionEngine.cpp.
void* mlirExecutionEngineLookup | ( | MlirExecutionEngine | jit, |
MlirStringRef | name | ||
) |
Lookup a native function in the execution engine by name, returns nullptr if the name can't be looked-up.
Definition at line 94 of file ExecutionEngine.cpp.
References unwrap().
void* mlirExecutionEngineLookupPacked | ( | MlirExecutionEngine | jit, |
MlirStringRef | name | ||
) |
Lookup the wrapper of the native function in the execution engine with the given name, returns nullptr if the function can't be looked-up.
Definition at line 86 of file ExecutionEngine.cpp.
References unwrap().
void mlirExecutionEngineRegisterSymbol | ( | MlirExecutionEngine | jit, |
MlirStringRef | name, | ||
void * | sym | ||
) |
Register a symbol with the jit: this symbol will be accessible to the jitted code.
Definition at line 102 of file ExecutionEngine.cpp.
References unwrap().