1- // RUN: cir-tool %s -cir-to-llvm -o - | FileCheck %s -check-prefix=MLIR
1+ // RUN: cir-tool %s -cir-to-llvm -reconcile-unrealized-casts - o - | FileCheck %s -check-prefix=MLIR
22
33!s32i = !cir.int<s, 32>
44
@@ -23,8 +23,7 @@ cir.func @_Z1xi(%arg0: !s32i) -> !s32i {
2323 }
2424}
2525
26- // MLIR: module {
27- // MLIR: llvm.func @_Z1xi(%arg0: i32) -> i32 {
26+ // MLIR: llvm.func @_Z1xi(%arg0: i32) -> i32 {
2827// MLIR-NEXT: %0 = llvm.mlir.constant(1 : index) : i64
2928// MLIR-NEXT: %1 = llvm.alloca %0 x i32 {alignment = 4 : i64} : (i64) -> !llvm.ptr<i32>
3029// MLIR-NEXT: %2 = llvm.mlir.constant(1 : index) : i64
@@ -38,17 +37,14 @@ cir.func @_Z1xi(%arg0: !s32i) -> !s32i {
3837// MLIR-NEXT: llvm.cond_br %8, ^bb1, ^bb2
3938// MLIR-NEXT: ^bb1: // pred: ^bb0
4039// MLIR-NEXT: %9 = llvm.mlir.constant(3 : i32) : i32
41- // MLIR-NEXT: %10 = builtin.unrealized_conversion_cast %9 : i32 to !s32i
4240// MLIR-NEXT: llvm.br ^bb3(%9 : i32)
4341// MLIR-NEXT: ^bb2: // pred: ^bb0
44- // MLIR-NEXT: %11 = llvm.mlir.constant(5 : i32) : i32
45- // MLIR-NEXT: %12 = builtin.unrealized_conversion_cast %11 : i32 to !s32i
46- // MLIR-NEXT: llvm.br ^bb3(%11 : i32)
47- // MLIR-NEXT: ^bb3(%13: i32): // 2 preds: ^bb1, ^bb2
42+ // MLIR-NEXT: %10 = llvm.mlir.constant(5 : i32) : i32
43+ // MLIR-NEXT: llvm.br ^bb3(%10 : i32)
44+ // MLIR-NEXT: ^bb3(%11: i32): // 2 preds: ^bb1, ^bb2
4845// MLIR-NEXT: llvm.br ^bb4
4946// MLIR-NEXT: ^bb4: // pred: ^bb3
50- // MLIR-NEXT: llvm.store %13, %3 : !llvm.ptr<i32>
51- // MLIR-NEXT: %14 = llvm.load %3 : !llvm.ptr<i32>
52- // MLIR-NEXT: llvm.return %14 : i32
53- // MLIR-NEXT: }
54- // MLIR-NEXT: }
47+ // MLIR-NEXT: llvm.store %11, %3 : !llvm.ptr<i32>
48+ // MLIR-NEXT: %12 = llvm.load %3 : !llvm.ptr<i32>
49+ // MLIR-NEXT: llvm.return %12 : i32
50+ // MLIR-NEXT: }
0 commit comments