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 {
3838
3939typedef struct MlirTypeFromLLVMIRTranslator MlirTypeFromLLVMIRTranslator ;
4040
41+ /// Create an LLVM::TypeFromLLVMIRTranslator and transfer ownership to the
42+ /// caller.
4143MLIR_CAPI_EXPORTED MlirTypeFromLLVMIRTranslator
4244mlirTypeFromLLVMIRTranslatorCreate (MlirContext ctx );
4345
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 );
4651
52+ /// Translates the given LLVM IR type to the MLIR LLVM dialect.
4753MLIR_CAPI_EXPORTED MlirType mlirTypeFromLLVMIRTranslatorTranslateType (
4854 MlirTypeFromLLVMIRTranslator translator , LLVMTypeRef llvmType );
4955
Original file line number Diff line number Diff line change @@ -44,9 +44,14 @@ mlirTypeFromLLVMIRTranslatorCreate(MlirContext ctx) {
4444 return wrap (translator);
4545}
4646
47+ void mlirTypeFromLLVMIRTranslatorDestroy (
48+ MlirTypeFromLLVMIRTranslator translator) {
49+ delete static_cast <LLVM::TypeFromLLVMIRTranslator *>(unwrap (translator));
50+ }
51+
4752MlirType mlirTypeFromLLVMIRTranslatorTranslateType (
4853 MlirTypeFromLLVMIRTranslator translator, LLVMTypeRef llvmType) {
4954 LLVM::TypeFromLLVMIRTranslator *translator_ = unwrap (translator);
5055 mlir::Type type = translator_->translateType (llvm::unwrap (llvmType));
5156 return wrap (type);
52- }
57+ }
You can’t perform that action at this time.
0 commit comments