54 lines · plain
1// RUN: mlir-opt %s | FileCheck %s2 3// CHECK-LABEL: wasmssa.func @func_0(4// CHECK-SAME: %[[ARG0:.*]]: !wasmssa<local ref to i32>) -> i32 {5// CHECK: %[[VAL_0:.*]] = wasmssa.local_get %[[ARG0]] : ref to i326// CHECK: wasmssa.if %[[VAL_0]] : {7// CHECK: %[[VAL_1:.*]] = wasmssa.const 5.000000e-01 : f328// CHECK: wasmssa.block_return %[[VAL_1]] : f329// CHECK: } "else "{10// CHECK: %[[VAL_2:.*]] = wasmssa.const 2.500000e-01 : f3211// CHECK: wasmssa.block_return %[[VAL_2]] : f3212// CHECK: }> ^bb113// CHECK: ^bb1(%[[VAL_3:.*]]: f32):14// CHECK: wasmssa.return %[[VAL_3]] : f3215wasmssa.func @func_0(%arg0 : !wasmssa<local ref to i32>) -> i32 {16 %cond = wasmssa.local_get %arg0 : ref to i3217 wasmssa.if %cond : {18 %c0 = wasmssa.const 0.5 : f3219 wasmssa.block_return %c0 : f3220 } else {21 %c1 = wasmssa.const 0.25 : f3222 wasmssa.block_return %c1 : f3223 } >^bb124 ^bb1(%retVal: f32):25 wasmssa.return %retVal : f3226}27 28// CHECK-LABEL: wasmssa.func @func_1(29// CHECK-SAME: %[[ARG0:.*]]: !wasmssa<local ref to i32>) -> i32 {30// CHECK: %[[VAL_0:.*]] = wasmssa.local_get %[[ARG0]] : ref to i3231// CHECK: %[[VAL_1:.*]] = wasmssa.local of type i3232// CHECK: %[[VAL_2:.*]] = wasmssa.const 0 : i6433// CHECK: wasmssa.if %[[VAL_0]] : {34// CHECK: %[[VAL_3:.*]] = wasmssa.const 1 : i3235// CHECK: wasmssa.local_set %[[VAL_1]] : ref to i32 to %[[VAL_3]] : i3236// CHECK: wasmssa.block_return37// CHECK: } > ^bb138// CHECK: ^bb1:39// CHECK: %[[VAL_4:.*]] = wasmssa.local_get %[[VAL_1]] : ref to i3240// CHECK: wasmssa.return %[[VAL_4]] : i3241wasmssa.func @func_1(%arg0 : !wasmssa<local ref to i32>) -> i32 {42 %cond = wasmssa.local_get %arg0 : ref to i3243 %var = wasmssa.local of type i3244 %zero = wasmssa.const 045 wasmssa.if %cond : {46 %c1 = wasmssa.const 1 : i3247 wasmssa.local_set %var : ref to i32 to %c1 : i3248 wasmssa.block_return49 } >^bb150 ^bb1:51 %res = wasmssa.local_get %var : ref to i3252 wasmssa.return %res : i3253}54