[Mlir-commits] [flang] [mlir] [MLIR] Add ComplexTOROCDL pass (PR #144926)

Akash Banerjee llvmlistbot at llvm.org
Tue Jun 24 08:40:56 PDT 2025


================
@@ -0,0 +1,26 @@
+// RUN: mlir-opt %s -convert-complex-to-rocdl | FileCheck %s
+
+// CHECK-DAG: @__ocml_cabs_f32(complex<f32>) -> f32
----------------
TIFitis wrote:

I've tested it locally and works fine.

Here's the output after the conversion pass:

```
module {
  func.func private @__ocml_cexp_f64(complex<f64>) -> complex<f64>
  func.func private @__ocml_cexp_f32(complex<f32>) -> complex<f32>
  func.func private @__ocml_cabs_f64(complex<f64>) -> f64
  func.func private @__ocml_cabs_f32(complex<f32>) -> f32
  func.func @abs_caller(%arg0: complex<f32>, %arg1: complex<f64>) -> (f32, f64) {
    %0 = call @__ocml_cabs_f32(%arg0) : (complex<f32>) -> f32
    %1 = call @__ocml_cabs_f64(%arg1) : (complex<f64>) -> f64
    return %0, %1 : f32, f64
  }
  func.func @exp_caller(%arg0: complex<f32>, %arg1: complex<f64>) -> (complex<f32>, complex<f64>) {
    %0 = call @__ocml_cexp_f32(%arg0) : (complex<f32>) -> complex<f32>
    %1 = call @__ocml_cexp_f64(%arg1) : (complex<f64>) -> complex<f64>
    return %0, %1 : complex<f32>, complex<f64>
  }
}
```

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


More information about the Mlir-commits mailing list