[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