| // RUN: mlir-opt %s -test-dialect-conversion-pdll | FileCheck %s |
| |
| // CHECK-LABEL: @TestSingleConversion |
| func.func @TestSingleConversion() { |
| // CHECK: %[[CAST:.*]] = "test.cast"() : () -> f64 |
| // CHECK-NEXT: "test.return"(%[[CAST]]) : (f64) -> () |
| %result = "test.cast"() : () -> (i64) |
| "test.return"(%result) : (i64) -> () |
| } |
| |
| // CHECK-LABEL: @TestLingeringConversion |
| func.func @TestLingeringConversion() -> i64 { |
| // CHECK: %[[ORIG_CAST:.*]] = "test.cast"() : () -> f64 |
| // CHECK: %[[MATERIALIZE_CAST:.*]] = builtin.unrealized_conversion_cast %[[ORIG_CAST]] : f64 to i64 |
| // CHECK-NEXT: return %[[MATERIALIZE_CAST]] : i64 |
| %result = "test.cast"() : () -> (i64) |
| return %result : i64 |
| } |