[Mlir-commits] [mlir] 345512c - Revert "[mlir][llvmir] expose Type(To/From)LLVMIRTranslator C API (#124864)"

Maksim Levental llvmlistbot at llvm.org
Thu Jan 30 11:10:49 PST 2025


Author: Maksim Levental
Date: 2025-01-30T14:10:23-05:00
New Revision: 345512cbda296d262a28459afc7f83640b06b6a8

URL: https://github.com/llvm/llvm-project/commit/345512cbda296d262a28459afc7f83640b06b6a8
DIFF: https://github.com/llvm/llvm-project/commit/345512cbda296d262a28459afc7f83640b06b6a8.diff

LOG: Revert "[mlir][llvmir] expose Type(To/From)LLVMIRTranslator C API  (#124864)"

This reverts commit 7ae964c55b0a2b8dccf076ced9f1ffa8d5487eca.

Revert "[mlir] Fix warnings"

This reverts commit 0e43b9547d56762d29de9a99c998e7939417a1f3.

Added: 
    

Modified: 
    mlir/include/mlir-c/Dialect/LLVM.h
    mlir/include/mlir-c/Target/LLVMIR.h
    mlir/lib/CAPI/Dialect/LLVM.cpp
    mlir/lib/CAPI/Target/LLVMIR.cpp
    mlir/test/CAPI/translation.c

Removed: 
    


################################################################################
diff  --git a/mlir/include/mlir-c/Dialect/LLVM.h b/mlir/include/mlir-c/Dialect/LLVM.h
index 65b14254e44925..26c4140757c3c9 100644
--- a/mlir/include/mlir-c/Dialect/LLVM.h
+++ b/mlir/include/mlir-c/Dialect/LLVM.h
@@ -52,9 +52,6 @@ MLIR_CAPI_EXPORTED intptr_t mlirLLVMFunctionTypeGetNumInputs(MlirType type);
 MLIR_CAPI_EXPORTED MlirType mlirLLVMFunctionTypeGetInput(MlirType type,
                                                          intptr_t pos);
 
-/// Returns the return type of the function type.
-MLIR_CAPI_EXPORTED MlirType mlirLLVMFunctionTypeGetReturnType(MlirType type);
-
 /// Returns `true` if the type is an LLVM dialect struct type.
 MLIR_CAPI_EXPORTED bool mlirTypeIsALLVMStructType(MlirType type);
 

diff  --git a/mlir/include/mlir-c/Target/LLVMIR.h b/mlir/include/mlir-c/Target/LLVMIR.h
index b5f948961e898b..effa74b905ce66 100644
--- a/mlir/include/mlir-c/Target/LLVMIR.h
+++ b/mlir/include/mlir-c/Target/LLVMIR.h
@@ -16,7 +16,6 @@
 
 #include "mlir-c/IR.h"
 #include "mlir-c/Support.h"
-#include "llvm-c/Core.h"
 #include "llvm-c/Support.h"
 
 #ifdef __cplusplus
@@ -33,48 +32,6 @@ extern "C" {
 MLIR_CAPI_EXPORTED LLVMModuleRef
 mlirTranslateModuleToLLVMIR(MlirOperation module, LLVMContextRef context);
 
-struct MlirTypeFromLLVMIRTranslator {
-  void *ptr;
-};
-
-typedef struct MlirTypeFromLLVMIRTranslator MlirTypeFromLLVMIRTranslator;
-
-/// Create an LLVM::TypeFromLLVMIRTranslator and transfer ownership to the
-/// caller.
-MLIR_CAPI_EXPORTED MlirTypeFromLLVMIRTranslator
-mlirTypeFromLLVMIRTranslatorCreate(MlirContext ctx);
-
-/// Takes an LLVM::TypeFromLLVMIRTranslator owned by the caller and destroys it.
-/// It is the responsibility of the user to only pass an
-/// LLVM::TypeFromLLVMIRTranslator class.
-MLIR_CAPI_EXPORTED void
-mlirTypeFromLLVMIRTranslatorDestroy(MlirTypeFromLLVMIRTranslator translator);
-
-/// Translates the given LLVM IR type to the MLIR LLVM dialect.
-MLIR_CAPI_EXPORTED MlirType mlirTypeFromLLVMIRTranslatorTranslateType(
-    MlirTypeFromLLVMIRTranslator translator, LLVMTypeRef llvmType);
-
-struct MlirTypeToLLVMIRTranslator {
-  void *ptr;
-};
-
-typedef struct MlirTypeToLLVMIRTranslator MlirTypeToLLVMIRTranslator;
-
-/// Create an LLVM::TypeToLLVMIRTranslator and transfer ownership to the
-/// caller.
-MLIR_CAPI_EXPORTED MlirTypeToLLVMIRTranslator
-mlirTypeToLLVMIRTranslatorCreate(LLVMContextRef ctx);
-
-/// Takes an LLVM::TypeToLLVMIRTranslator owned by the caller and destroys it.
-/// It is the responsibility of the user to only pass an
-/// LLVM::TypeToLLVMIRTranslator class.
-MLIR_CAPI_EXPORTED void
-mlirTypeToLLVMIRTranslatorDestroy(MlirTypeToLLVMIRTranslator translator);
-
-/// Translates the given MLIR LLVM dialect to the LLVM IR type.
-MLIR_CAPI_EXPORTED LLVMTypeRef mlirTypeToLLVMIRTranslatorTranslateType(
-    MlirTypeToLLVMIRTranslator translator, MlirType mlirType);
-
 #ifdef __cplusplus
 }
 #endif

diff  --git a/mlir/lib/CAPI/Dialect/LLVM.cpp b/mlir/lib/CAPI/Dialect/LLVM.cpp
index 69c804b7667f3a..da450dd3fd8a3b 100644
--- a/mlir/lib/CAPI/Dialect/LLVM.cpp
+++ b/mlir/lib/CAPI/Dialect/LLVM.cpp
@@ -65,10 +65,6 @@ MlirType mlirLLVMFunctionTypeGetInput(MlirType type, intptr_t pos) {
                   .getParamType(static_cast<unsigned>(pos)));
 }
 
-MlirType mlirLLVMFunctionTypeGetReturnType(MlirType type) {
-  return wrap(llvm::cast<LLVM::LLVMFunctionType>(unwrap(type)).getReturnType());
-}
-
 bool mlirTypeIsALLVMStructType(MlirType type) {
   return isa<LLVM::LLVMStructType>(unwrap(type));
 }

diff  --git a/mlir/lib/CAPI/Target/LLVMIR.cpp b/mlir/lib/CAPI/Target/LLVMIR.cpp
index 1c1912aec0f2ff..dc798372be7467 100644
--- a/mlir/lib/CAPI/Target/LLVMIR.cpp
+++ b/mlir/lib/CAPI/Target/LLVMIR.cpp
@@ -8,15 +8,16 @@
 //===----------------------------------------------------------------------===//
 
 #include "mlir-c/Target/LLVMIR.h"
+#include "llvm-c/Support.h"
 
 #include "llvm/IR/LLVMContext.h"
 #include "llvm/IR/Module.h"
-#include "llvm/IR/Type.h"
+#include <memory>
 
 #include "mlir/CAPI/IR.h"
+#include "mlir/CAPI/Support.h"
 #include "mlir/CAPI/Wrap.h"
 #include "mlir/Target/LLVMIR/ModuleTranslation.h"
-#include "mlir/Target/LLVMIR/TypeFromLLVM.h"
 
 using namespace mlir;
 
@@ -33,47 +34,3 @@ LLVMModuleRef mlirTranslateModuleToLLVMIR(MlirOperation module,
 
   return moduleRef;
 }
-
-DEFINE_C_API_PTR_METHODS(MlirTypeFromLLVMIRTranslator,
-                         mlir::LLVM::TypeFromLLVMIRTranslator)
-
-MlirTypeFromLLVMIRTranslator
-mlirTypeFromLLVMIRTranslatorCreate(MlirContext ctx) {
-  MLIRContext *context = unwrap(ctx);
-  auto *translator = new LLVM::TypeFromLLVMIRTranslator(*context);
-  return wrap(translator);
-}
-
-void mlirTypeFromLLVMIRTranslatorDestroy(
-    MlirTypeFromLLVMIRTranslator translator) {
-  delete static_cast<LLVM::TypeFromLLVMIRTranslator *>(unwrap(translator));
-}
-
-MlirType mlirTypeFromLLVMIRTranslatorTranslateType(
-    MlirTypeFromLLVMIRTranslator translator, LLVMTypeRef llvmType) {
-  LLVM::TypeFromLLVMIRTranslator *translator_ = unwrap(translator);
-  mlir::Type type = translator_->translateType(llvm::unwrap(llvmType));
-  return wrap(type);
-}
-
-DEFINE_C_API_PTR_METHODS(MlirTypeToLLVMIRTranslator,
-                         mlir::LLVM::TypeToLLVMIRTranslator)
-
-MlirTypeToLLVMIRTranslator
-mlirTypeToLLVMIRTranslatorCreate(LLVMContextRef ctx) {
-  llvm::LLVMContext *context = llvm::unwrap(ctx);
-  auto *translator = new LLVM::TypeToLLVMIRTranslator(*context);
-  return wrap(translator);
-}
-
-void mlirTypeToLLVMIRTranslatorDestroy(MlirTypeToLLVMIRTranslator translator) {
-  delete static_cast<LLVM::TypeToLLVMIRTranslator *>(unwrap(translator));
-}
-
-LLVMTypeRef
-mlirTypeToLLVMIRTranslatorTranslateType(MlirTypeToLLVMIRTranslator translator,
-                                        MlirType mlirType) {
-  LLVM::TypeToLLVMIRTranslator *translator_ = unwrap(translator);
-  llvm::Type *type = translator_->translateType(unwrap(mlirType));
-  return llvm::wrap(type);
-}

diff  --git a/mlir/test/CAPI/translation.c b/mlir/test/CAPI/translation.c
index 8891c2a559b7e8..c9233d95fd5120 100644
--- a/mlir/test/CAPI/translation.c
+++ b/mlir/test/CAPI/translation.c
@@ -58,38 +58,11 @@ static void testToLLVMIR(MlirContext ctx) {
   LLVMContextDispose(llvmCtx);
 }
 
-// CHECK-LABEL: testTypeToFromLLVMIRTranslator
-static void testTypeToFromLLVMIRTranslator(MlirContext ctx) {
-  fprintf(stderr, "testTypeToFromLLVMIRTranslator\n");
-  LLVMContextRef llvmCtx = LLVMContextCreate();
-
-  LLVMTypeRef llvmTy = LLVMInt32TypeInContext(llvmCtx);
-  MlirTypeFromLLVMIRTranslator fromLLVMTranslator =
-      mlirTypeFromLLVMIRTranslatorCreate(ctx);
-  MlirType mlirTy =
-      mlirTypeFromLLVMIRTranslatorTranslateType(fromLLVMTranslator, llvmTy);
-  // CHECK: i32
-  mlirTypeDump(mlirTy);
-
-  MlirTypeToLLVMIRTranslator toLLVMTranslator =
-      mlirTypeToLLVMIRTranslatorCreate(llvmCtx);
-  LLVMTypeRef llvmTy2 =
-      mlirTypeToLLVMIRTranslatorTranslateType(toLLVMTranslator, mlirTy);
-  // CHECK: i32
-  LLVMDumpType(llvmTy2);
-  fprintf(stderr, "\n");
-
-  mlirTypeFromLLVMIRTranslatorDestroy(fromLLVMTranslator);
-  mlirTypeToLLVMIRTranslatorDestroy(toLLVMTranslator);
-  LLVMContextDispose(llvmCtx);
-}
-
 int main(void) {
   MlirContext ctx = mlirContextCreate();
   mlirDialectHandleRegisterDialect(mlirGetDialectHandle__llvm__(), ctx);
   mlirContextGetOrLoadDialect(ctx, mlirStringRefCreateFromCString("llvm"));
   testToLLVMIR(ctx);
-  testTypeToFromLLVMIRTranslator(ctx);
   mlirContextDestroy(ctx);
   return 0;
 }


        


More information about the Mlir-commits mailing list