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

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Dec 24 05:24:17 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir

Author: Ivan Butygin (Hardcode84)

<details>
<summary>Changes</summary>

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

@<!-- -->ftynse @<!-- -->mofeing

Broke the bots, also broke the downstream too.

This reverts commit 2d6b1b174194198498eb10ae811632b3dd945ecf.

---
Full diff: https://github.com/llvm/llvm-project/pull/173492.diff


3 Files Affected:

- (removed) mlir/include/mlir-c/Dialect/Complex.h (-51) 
- (modified) mlir/lib/CAPI/Dialect/CMakeLists.txt (-9) 
- (removed) mlir/lib/CAPI/Dialect/Complex.cpp (-43) 


``````````diff
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());
-}

``````````

</details>


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


More information about the Mlir-commits mailing list