File tree Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -38,12 +38,18 @@ struct MlirTypeFromLLVMIRTranslator {
38
38
39
39
typedef struct MlirTypeFromLLVMIRTranslator MlirTypeFromLLVMIRTranslator ;
40
40
41
+ /// Create an LLVM::TypeFromLLVMIRTranslator and transfer ownership to the
42
+ /// caller.
41
43
MLIR_CAPI_EXPORTED MlirTypeFromLLVMIRTranslator
42
44
mlirTypeFromLLVMIRTranslatorCreate (MlirContext ctx );
43
45
44
- MLIR_CAPI_EXPORTED MlirTypeFromLLVMIRTranslator
45
- mlirTypeFromLLVMIRTranslatorCreate (MlirContext ctx );
46
+ /// Takes an LLVM::TypeFromLLVMIRTranslator owned by the caller and destroys it.
47
+ /// It is the responsibility of the user to only pass an
48
+ /// LLVM::TypeFromLLVMIRTranslator class.
49
+ MLIR_CAPI_EXPORTED void
50
+ mlirTypeFromLLVMIRTranslatorDestroy (MlirTypeFromLLVMIRTranslator translator );
46
51
52
+ /// Translates the given LLVM IR type to the MLIR LLVM dialect.
47
53
MLIR_CAPI_EXPORTED MlirType mlirTypeFromLLVMIRTranslatorTranslateType (
48
54
MlirTypeFromLLVMIRTranslator translator , LLVMTypeRef llvmType );
49
55
Original file line number Diff line number Diff line change @@ -44,9 +44,14 @@ mlirTypeFromLLVMIRTranslatorCreate(MlirContext ctx) {
44
44
return wrap (translator);
45
45
}
46
46
47
+ void mlirTypeFromLLVMIRTranslatorDestroy (
48
+ MlirTypeFromLLVMIRTranslator translator) {
49
+ delete static_cast <LLVM::TypeFromLLVMIRTranslator *>(unwrap (translator));
50
+ }
51
+
47
52
MlirType mlirTypeFromLLVMIRTranslatorTranslateType (
48
53
MlirTypeFromLLVMIRTranslator translator, LLVMTypeRef llvmType) {
49
54
LLVM::TypeFromLLVMIRTranslator *translator_ = unwrap (translator);
50
55
mlir::Type type = translator_->translateType (llvm::unwrap (llvmType));
51
56
return wrap (type);
52
- }
57
+ }
You can’t perform that action at this time.
0 commit comments