[Mlir-commits] [mlir] Revert "[MLIR] add C-API bindings for complex dialect (#173228)" (PR #173492)

Ivan Butygin llvmlistbot at llvm.org
Wed Dec 24 05:23:46 PST 2025


https://github.com/Hardcode84 created https://github.com/llvm/llvm-project/pull/173492

Revert https://github.com/llvm/llvm-project/pull/173228

@ftynse @mofeing

Broke the bots, also broke the downstream too.

This reverts commit 2d6b1b174194198498eb10ae811632b3dd945ecf.

>From 6eeabea3be719ce85cf02606ac70946598c86751 Mon Sep 17 00:00:00 2001
From: Ivan Butygin <ivan.butygin at gmail.com>
Date: Wed, 24 Dec 2025 14:14:21 +0100
Subject: [PATCH] Revert "[MLIR] add C-API bindings for complex dialect
 (#173228)"

Broke the bots, also broke the downstream too.

This reverts commit 2d6b1b174194198498eb10ae811632b3dd945ecf.
---
 mlir/include/mlir-c/Dialect/Complex.h | 51 ---------------------------
 mlir/lib/CAPI/Dialect/CMakeLists.txt  |  9 -----
 mlir/lib/CAPI/Dialect/Complex.cpp     | 43 ----------------------
 3 files changed, 103 deletions(-)
 delete mode 100644 mlir/include/mlir-c/Dialect/Complex.h
 delete mode 100644 mlir/lib/CAPI/Dialect/Complex.cpp

diff --git a/mlir/include/mlir-c/Dialect/Complex.h b/mlir/include/mlir-c/Dialect/Complex.h
deleted file mode 100644
index 777b77d4b72fe..0000000000000
--- a/mlir/include/mlir-c/Dialect/Complex.h
+++ /dev/null
@@ -1,51 +0,0 @@
-//===-- mlir-c/Dialect/Complex.h - C API for Complex dialect ------*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef MLIR_C_DIALECT_COMPLEX_H
-#define MLIR_C_DIALECT_COMPLEX_H
-
-#include "mlir-c/IR.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Complex, complex);
-
-/// Checks whether the given attribute is a complex attribute.
-MLIR_CAPI_EXPORTED bool mlirAttributeIsAComplex(MlirAttribute attr);
-
-/// Creates a complex attribute in the given context with the given
-/// double real and imaginary values and double-precision FP semantics.
-MLIR_CAPI_EXPORTED MlirAttribute mlirComplexAttrDoubleGet(MlirContext ctx,
-                                                          MlirType type,
-                                                          double real,
-                                                          double imag);
-
-/// Same as "mlirComplexAttrDoubleGet", but if the type is not valid for a
-/// construction of a ComplexAttr, returns a null MlirAttribute.
-MLIR_CAPI_EXPORTED MlirAttribute mlirComplexAttrDoubleGetChecked(
-    MlirLocation loc, MlirType type, double real, double imag);
-
-/// Returns the real value stored in the given complex attribute, interpreting
-/// the value as double.
-MLIR_CAPI_EXPORTED double mlirComplexAttrGetRealDouble(MlirAttribute attr);
-
-/// Returns the imaginaryvalue stored in the given complex attribute,
-/// interpreting the value as double.
-MLIR_CAPI_EXPORTED double mlirComplexAttrGetImagDouble(MlirAttribute attr);
-
-/// Returns the typeID of a Complex attribute.
-MLIR_CAPI_EXPORTED MlirTypeID mlirComplexAttrGetTypeID(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // MLIR_C_DIALECT_COMPLEX_H
diff --git a/mlir/lib/CAPI/Dialect/CMakeLists.txt b/mlir/lib/CAPI/Dialect/CMakeLists.txt
index 30c9cb0593371..bb1fdf8be3c8f 100644
--- a/mlir/lib/CAPI/Dialect/CMakeLists.txt
+++ b/mlir/lib/CAPI/Dialect/CMakeLists.txt
@@ -31,15 +31,6 @@ add_mlir_upstream_c_api_library(MLIRCAPIAsync
   MLIRPass
 )
 
-add_mlir_upstream_c_api_library(MLIRCAPIComplex
-  Complex.cpp
-
-  PARTIAL_SOURCES_INTENDED
-  LINK_LIBS PUBLIC
-  MLIRCAPIIR
-  MLIRComplexDialect
-)
-
 add_mlir_upstream_c_api_library(MLIRCAPIControlFlow
   ControlFlow.cpp
 
diff --git a/mlir/lib/CAPI/Dialect/Complex.cpp b/mlir/lib/CAPI/Dialect/Complex.cpp
deleted file mode 100644
index 9e0a1b2086a6a..0000000000000
--- a/mlir/lib/CAPI/Dialect/Complex.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//===- Complex.cpp - C Interface for Complex dialect ----------------------===//
-//
-// 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/Dialect/Complex.h"
-#include "mlir-c/IR.h"
-#include "mlir-c/Support.h"
-#include "mlir/CAPI/Registration.h"
-
-MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(Complex, complex,
-                                      mlir::complex::ComplexDialect)
-
-bool mlirAttributeIsAComplex(MlirAttribute attr) {
-  return isa<ComplexAttr>(unwrap(attr));
-}
-
-MlirAttribute mlirComplexAttrDoubleGet(MlirContext ctx, MlirType type,
-                                       double real, double imag) {
-  return wrap(
-      complex::NumberAttr::get(cast<ComplexType>(unwrap(type)), real, imag));
-}
-
-MlirAttribute mlirComplexAttrDoubleGetChecked(MlirLocation loc, MlirType type,
-                                              double real, double imag) {
-  return wrap(complex::NumberAttr::getChecked(
-      unwrap(loc), cast<ComplexType>(unwrap(type)), real, imag));
-}
-
-double mlirComplexAttrGetRealDouble(MlirAttribute attr) {
-  return cast<complex::NumberAttr>(unwrap(attr)).getRealAsDouble();
-}
-
-double mlirComplexAttrGetImagDouble(MlirAttribute attr) {
-  return cast<complex::NumberAttr>(unwrap(attr)).getImagAsDouble();
-}
-
-MlirTypeID mlirComplexAttrGetTypeID(void) {
-  return wrap(complex::NumberAttr::getTypeID());
-}



More information about the Mlir-commits mailing list