xref: /llvm-project/mlir/test/Transforms/test-dialect-conversion-pdll.mlir (revision 8c66344ee9f67f76b3cb6b3345a46345a2d3975a)
1// RUN: mlir-opt %s -test-dialect-conversion-pdll | FileCheck %s
2
3// CHECK-LABEL: @TestSingleConversion
4func.func @TestSingleConversion() {
5  // CHECK: %[[CAST:.*]] = "test.cast"() : () -> f64
6  // CHECK-NEXT: "test.return"(%[[CAST]]) : (f64) -> ()
7  %result = "test.cast"() : () -> (i64)
8  "test.return"(%result) : (i64) -> ()
9}
10
11// CHECK-LABEL: @TestLingeringConversion
12func.func @TestLingeringConversion() -> i64 {
13  // CHECK: %[[ORIG_CAST:.*]] = "test.cast"() : () -> f64
14  // CHECK: %[[MATERIALIZE_CAST:.*]] = builtin.unrealized_conversion_cast %[[ORIG_CAST]] : f64 to i64
15  // CHECK-NEXT: return %[[MATERIALIZE_CAST]] : i64
16  %result = "test.cast"() : () -> (i64)
17  return %result : i64
18}
19