// RUN: yaml2obj %S/inputs/local.yaml.wasm -o - | mlir-translate --import-wasm | FileCheck %s /* Source code used to create this test: (module (func $local_f32 (result f32) (local $var1 f32) (local $var2 f32) f32.const 8.0 local.set $var1 local.get $var1 f32.const 12.0 local.tee $var2 f32.add ) (func $local_i32 (result i32) (local $var1 i32) (local $var2 i32) i32.const 8 local.set $var1 local.get $var1 i32.const 12 local.tee $var2 i32.add ) (func $local_arg (param $var i32) (result i32) i32.const 3 local.set $var local.get $var ) ) */ // CHECK-LABEL: wasmssa.func @func_0() -> f32 { // CHECK: %[[VAL_0:.*]] = wasmssa.local of type f32 // CHECK: %[[VAL_1:.*]] = wasmssa.local of type f32 // CHECK: %[[VAL_2:.*]] = wasmssa.const 8.000000e+00 : f32 // CHECK: wasmssa.local_set %[[VAL_0]] : ref to f32 to %[[VAL_2]] : f32 // CHECK: %[[VAL_3:.*]] = wasmssa.local_get %[[VAL_0]] : ref to f32 // CHECK: %[[VAL_4:.*]] = wasmssa.const 1.200000e+01 : f32 // CHECK: %[[VAL_5:.*]] = wasmssa.local_tee %[[VAL_1]] : ref to f32 to %[[VAL_4]] : f32 // CHECK: %[[VAL_6:.*]] = wasmssa.add %[[VAL_3]] %[[VAL_5]] : f32 // CHECK: wasmssa.return %[[VAL_6]] : f32 // CHECK-LABEL: wasmssa.func @func_1() -> i32 { // CHECK: %[[VAL_0:.*]] = wasmssa.local of type i32 // CHECK: %[[VAL_1:.*]] = wasmssa.local of type i32 // CHECK: %[[VAL_2:.*]] = wasmssa.const 8 : i32 // CHECK: wasmssa.local_set %[[VAL_0]] : ref to i32 to %[[VAL_2]] : i32 // CHECK: %[[VAL_3:.*]] = wasmssa.local_get %[[VAL_0]] : ref to i32 // CHECK: %[[VAL_4:.*]] = wasmssa.const 12 : i32 // CHECK: %[[VAL_5:.*]] = wasmssa.local_tee %[[VAL_1]] : ref to i32 to %[[VAL_4]] : i32 // CHECK: %[[VAL_6:.*]] = wasmssa.add %[[VAL_3]] %[[VAL_5]] : i32 // CHECK: wasmssa.return %[[VAL_6]] : i32 // CHECK-LABEL: wasmssa.func @func_2( // CHECK-SAME: %[[ARG0:.*]]: !wasmssa) -> i32 { // CHECK: %[[VAL_0:.*]] = wasmssa.const 3 : i32 // CHECK: wasmssa.local_set %[[ARG0]] : ref to i32 to %[[VAL_0]] : i32 // CHECK: %[[VAL_1:.*]] = wasmssa.local_get %[[ARG0]] : ref to i32 // CHECK: wasmssa.return %[[VAL_1]] : i32