36 lines · plain
1// RUN: cir-opt %s --verify-roundtrip | FileCheck %s2 3!s32i = !cir.int<s, 32>4 5module {6 7cir.func private @division(%a: !s32i, %b: !s32i) -> !s32i8 9cir.func @flatten_structure_with_try_call_op() {10 %a = cir.const #cir.int<1> : !s32i11 %b = cir.const #cir.int<2> : !s32i12 %3 = cir.try_call @division(%a, %b) ^normal, ^unwind : (!s32i, !s32i) -> !s32i13 ^normal:14 cir.br ^end15 ^unwind:16 cir.br ^end17 ^end:18 cir.return19}20 21// CHECK: cir.func private @division(!s32i, !s32i) -> !s32i22 23// CHECK: cir.func @flatten_structure_with_try_call_op() {24// CHECK-NEXT: %[[CONST_1:.*]] = cir.const #cir.int<1> : !s32i25// CHECK-NEXT: %[[CONST_2:.*]] = cir.const #cir.int<2> : !s32i26// CHECK-NEXT: %[[CALL:.*]] = cir.try_call @division(%[[CONST_1]], %[[CONST_2]]) ^[[NORMAL:.*]], ^[[UNWIND:.*]] : (!s32i, !s32i) -> !s32i27// CHECK-NEXT: ^[[NORMAL]]:28// CHECK-NEXT: cir.br ^[[END:.*]]29// CHECK-NEXT: ^[[UNWIND]]:30// CHECK-NEXT: cir.br ^[[END:.*]]31// CHECK-NEXT: ^[[END]]:32// CHECK-NEXT: cir.return33// CHECK-NEXT: }34 35}36