brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1020 B · 39db43a Raw
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