[Mlir-commits] [mlir] Revert "[mlir] Re-Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)" (PR #73749)

Vitaly Buka llvmlistbot at llvm.org
Tue Nov 28 21:04:31 PST 2023


https://github.com/vitalybuka created https://github.com/llvm/llvm-project/pull/73749

Still breaks https://lab.llvm.org/buildbot/#/builders/5/builds/38743/steps/9/logs/stdio

There is some info on how to reproduce https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild

This reverts commit 523160555925ff451e7c6d213a377d191e514805.

>From 79ce1233af3eeac04e1e7f683da267a7005b37aa Mon Sep 17 00:00:00 2001
From: Vitaly Buka <vitalybuka at gmail.com>
Date: Tue, 28 Nov 2023 21:01:09 -0800
Subject: [PATCH] Revert "[mlir] Re-Add mlirTranslateModuleToLLVMIR to MLIR-C
 (#73627)"

This reverts commit 523160555925ff451e7c6d213a377d191e514805.
---
 mlir/include/mlir-c/Target/LLVMIR.h | 39 -----------------
 mlir/lib/CAPI/CMakeLists.txt        |  2 +-
 mlir/lib/CAPI/Target/CMakeLists.txt | 12 ------
 mlir/lib/CAPI/Target/LLVMIR.cpp     | 36 ----------------
 mlir/test/CAPI/CMakeLists.txt       |  9 ----
 mlir/test/CAPI/translation.c        | 67 -----------------------------
 mlir/test/CMakeLists.txt            |  9 ++--
 mlir/test/lit.cfg.py                |  1 -
 8 files changed, 5 insertions(+), 170 deletions(-)
 delete mode 100644 mlir/include/mlir-c/Target/LLVMIR.h
 delete mode 100644 mlir/lib/CAPI/Target/CMakeLists.txt
 delete mode 100644 mlir/lib/CAPI/Target/LLVMIR.cpp
 delete mode 100644 mlir/test/CAPI/translation.c

diff --git a/mlir/include/mlir-c/Target/LLVMIR.h b/mlir/include/mlir-c/Target/LLVMIR.h
deleted file mode 100644
index effa74b905ce66b..000000000000000
--- a/mlir/include/mlir-c/Target/LLVMIR.h
+++ /dev/null
@@ -1,39 +0,0 @@
-//===-- LLVMIR.h - C Interface for MLIR LLVMIR Target -------------*- C -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM
-// Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// This header declares the C interface to target LLVMIR with MLIR.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef MLIR_C_TARGET_LLVMIR_H
-#define MLIR_C_TARGET_LLVMIR_H
-
-#include "mlir-c/IR.h"
-#include "mlir-c/Support.h"
-#include "llvm-c/Support.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/// Translate operation that satisfies LLVM dialect module requirements into an
-/// LLVM IR module living in the given context. This translates operations from
-/// any dilalect that has a registered implementation of
-/// LLVMTranslationDialectInterface.
-///
-/// \returns the generated LLVM IR Module from the translated MLIR module, it is
-/// owned by the caller.
-MLIR_CAPI_EXPORTED LLVMModuleRef
-mlirTranslateModuleToLLVMIR(MlirOperation module, LLVMContextRef context);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // MLIR_C_TARGET_LLVMIR_H
diff --git a/mlir/lib/CAPI/CMakeLists.txt b/mlir/lib/CAPI/CMakeLists.txt
index 6c438508425b7c3..707e78ac3d1ea3c 100644
--- a/mlir/lib/CAPI/CMakeLists.txt
+++ b/mlir/lib/CAPI/CMakeLists.txt
@@ -14,7 +14,6 @@ add_subdirectory(Interfaces)
 add_subdirectory(IR)
 add_subdirectory(RegisterEverything)
 add_subdirectory(Transforms)
-add_subdirectory(Target)
 
 if(MLIR_ENABLE_EXECUTION_ENGINE)
   add_subdirectory(ExecutionEngine)
@@ -37,3 +36,4 @@ if(MLIR_BUILD_MLIR_C_DYLIB)
     endif()
   endif()
 endif()
+
diff --git a/mlir/lib/CAPI/Target/CMakeLists.txt b/mlir/lib/CAPI/Target/CMakeLists.txt
deleted file mode 100644
index ce86fd3def964cb..000000000000000
--- a/mlir/lib/CAPI/Target/CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-add_mlir_upstream_c_api_library(MLIRCAPITarget
-  LLVMIR.cpp
-
-  LINK_COMPONENTS
-  Core
-
-  LINK_LIBS PUBLIC
-  MLIRToLLVMIRTranslationRegistration
-  MLIRCAPIIR
-  MLIRLLVMToLLVMIRTranslation
-  MLIRSupport
-)
diff --git a/mlir/lib/CAPI/Target/LLVMIR.cpp b/mlir/lib/CAPI/Target/LLVMIR.cpp
deleted file mode 100644
index dc798372be74679..000000000000000
--- a/mlir/lib/CAPI/Target/LLVMIR.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//===-- LLVMIR.h - C Interface for MLIR LLVMIR Target ---------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM
-// Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "mlir-c/Target/LLVMIR.h"
-#include "llvm-c/Support.h"
-
-#include "llvm/IR/LLVMContext.h"
-#include "llvm/IR/Module.h"
-#include <memory>
-
-#include "mlir/CAPI/IR.h"
-#include "mlir/CAPI/Support.h"
-#include "mlir/CAPI/Wrap.h"
-#include "mlir/Target/LLVMIR/ModuleTranslation.h"
-
-using namespace mlir;
-
-LLVMModuleRef mlirTranslateModuleToLLVMIR(MlirOperation module,
-                                          LLVMContextRef context) {
-  Operation *moduleOp = unwrap(module);
-
-  llvm::LLVMContext *ctx = llvm::unwrap(context);
-
-  std::unique_ptr<llvm::Module> llvmModule =
-      mlir::translateModuleToLLVMIR(moduleOp, *ctx);
-
-  LLVMModuleRef moduleRef = llvm::wrap(llvmModule.release());
-
-  return moduleRef;
-}
diff --git a/mlir/test/CAPI/CMakeLists.txt b/mlir/test/CAPI/CMakeLists.txt
index 1096a3b08066483..16a3d0ed9c62fbf 100644
--- a/mlir/test/CAPI/CMakeLists.txt
+++ b/mlir/test/CAPI/CMakeLists.txt
@@ -85,12 +85,3 @@ _add_capi_test_executable(mlir-capi-transform-test
     MLIRCAPIRegisterEverything
     MLIRCAPITransformDialect
 )
-
-_add_capi_test_executable(mlir-capi-translation-test
-  translation.c
-  LINK_LIBS PRIVATE
-    MLIRCAPIIR
-    MLIRCAPILLVM
-    MLIRCAPIRegisterEverything
-    MLIRCAPITarget
-)
diff --git a/mlir/test/CAPI/translation.c b/mlir/test/CAPI/translation.c
deleted file mode 100644
index e58a01d8c171d0a..000000000000000
--- a/mlir/test/CAPI/translation.c
+++ /dev/null
@@ -1,67 +0,0 @@
-//===- translation.c - Test MLIR Target translations ----------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM
-// Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// RUN: mlir-capi-translation-test 2>&1 | FileCheck %s
-
-#include "llvm-c/Core.h"
-#include "llvm-c/Support.h"
-#include "llvm-c/Types.h"
-
-#include "mlir-c/BuiltinTypes.h"
-#include "mlir-c/Dialect/LLVM.h"
-#include "mlir-c/IR.h"
-#include "mlir-c/RegisterEverything.h"
-#include "mlir-c/Support.h"
-#include "mlir-c/Target/LLVMIR.h"
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-// CHECK-LABEL: testToLLVMIR()
-static void testToLLVMIR(MlirContext ctx) {
-  fprintf(stderr, "testToLLVMIR()\n");
-  LLVMContextRef llvmCtx = LLVMContextCreate();
-
-  const char *moduleString = "llvm.func @add(%arg0: i64, %arg1: i64) -> i64 { \
-                                %0 = llvm.add %arg0, %arg1  : i64 \
-                                llvm.return %0 : i64 \
-                             }";
-
-  mlirRegisterAllLLVMTranslations(ctx);
-
-  MlirModule module =
-      mlirModuleCreateParse(ctx, mlirStringRefCreateFromCString(moduleString));
-
-  MlirOperation operation = mlirModuleGetOperation(module);
-
-  LLVMModuleRef llvmModule = mlirTranslateModuleToLLVMIR(operation, llvmCtx);
-
-  // clang-format off
-  // CHECK: define i64 @add(i64 %[[arg1:.*]], i64 %[[arg2:.*]]) {
-  // CHECK-NEXT:   %[[arg3:.*]] = add i64 %[[arg1]], %[[arg2]]
-  // CHECK-NEXT:   ret i64 %[[arg3]]
-  // CHECK-NEXT: }
-  // clang-format on
-  LLVMDumpModule(llvmModule);
-
-  LLVMDisposeModule(llvmModule);
-  mlirModuleDestroy(module);
-}
-
-int main(void) {
-  MlirContext ctx = mlirContextCreate();
-  mlirDialectHandleRegisterDialect(mlirGetDialectHandle__llvm__(), ctx);
-  mlirContextGetOrLoadDialect(ctx, mlirStringRefCreateFromCString("llvm"));
-  testToLLVMIR(ctx);
-  mlirContextDestroy(ctx);
-  return 0;
-}
diff --git a/mlir/test/CMakeLists.txt b/mlir/test/CMakeLists.txt
index ccb4a98254cd574..e4343095578c1f0 100644
--- a/mlir/test/CMakeLists.txt
+++ b/mlir/test/CMakeLists.txt
@@ -45,10 +45,10 @@ if (MLIR_INCLUDE_INTEGRATION_TESTS)
     message(FATAL_ERROR "MLIR_INCLUDE_INTEGRATION_TESTS requires a native target")
   endif()
 
-  # When the Integration tests are requested via the MLIR_INCLUDE_INTEGRATION_TESTS
-  # configuration flag, we automatically include sm80 tests when build for
-  # cuSparse when the configuration flag MLIR_ENABLE_CUDA_CUSPARSE is set and
-  # include sm80 lt tests when the MLIR_ENABLE_CUDA_CUSPARSELT is set in
+  # When the Integration tests are requested via the MLIR_INCLUDE_INTEGRATION_TESTS 
+  # configuration flag, we automatically include sm80 tests when build for 
+  # cuSparse when the configuration flag MLIR_ENABLE_CUDA_CUSPARSE is set and 
+  # include sm80 lt tests when the MLIR_ENABLE_CUDA_CUSPARSELT is set in 
   # addition to those.
   if (MLIR_ENABLE_CUDA_CUSPARSE)
     set(MLIR_RUN_CUDA_SM80_TESTS ON)
@@ -101,7 +101,6 @@ set(MLIR_TEST_DEPENDS
   mlir-capi-quant-test
   mlir-capi-sparse-tensor-test
   mlir-capi-transform-test
-  mlir-capi-translation-test
   mlir-linalg-ods-yaml-gen
   mlir-lsp-server
   mlir-pdll-lsp-server
diff --git a/mlir/test/lit.cfg.py b/mlir/test/lit.cfg.py
index 17c29445ba82b13..87bbe51e95d4c9d 100644
--- a/mlir/test/lit.cfg.py
+++ b/mlir/test/lit.cfg.py
@@ -106,7 +106,6 @@ def add_runtime(name):
     "mlir-capi-quant-test",
     "mlir-capi-sparse-tensor-test",
     "mlir-capi-transform-test",
-    "mlir-capi-translation-test",
     "mlir-cpu-runner",
     add_runtime("mlir_runner_utils"),
     add_runtime("mlir_c_runner_utils"),



More information about the Mlir-commits mailing list