41 lines · plain
1// RUN: yaml2obj %S/inputs/add_div.yaml.wasm -o - | mlir-translate --import-wasm | FileCheck %s2 3/* Source code used to create this test:4 (module $test.wasm5 (type (;0;) (func (param i32) (result i32)))6 (type (;1;) (func (param i32 i32) (result i32)))7 (import "env" "twoTimes" (func $twoTimes (type 0)))8 (func $add (type 1) (param i32 i32) (result i32)9 local.get 010 call $twoTimes11 local.get 112 call $twoTimes13 i32.add14 i32.const 215 i32.div_s)16 (memory (;0;) 2)17 (global $__stack_pointer (mut i32) (i32.const 66560))18 (export "memory" (memory 0))19 (export "add" (func $add)))20*/21 22// CHECK-LABEL: wasmssa.import_func "twoTimes" from "env" as @func_0 {type = (i32) -> i32}23 24// CHECK-LABEL: wasmssa.func exported @add(25// CHECK-SAME: %[[ARG0:.*]]: !wasmssa<local ref to i32>,26// CHECK-SAME: %[[ARG1:.*]]: !wasmssa<local ref to i32>) -> i32 {27// CHECK: %[[VAL_0:.*]] = wasmssa.local_get %[[ARG0]] : ref to i3228// CHECK: %[[VAL_1:.*]] = wasmssa.call @func_0(%[[VAL_0]]) : (i32) -> i3229// CHECK: %[[VAL_2:.*]] = wasmssa.local_get %[[ARG1]] : ref to i3230// CHECK: %[[VAL_3:.*]] = wasmssa.call @func_0(%[[VAL_2]]) : (i32) -> i3231// CHECK: %[[VAL_4:.*]] = wasmssa.add %[[VAL_1]] %[[VAL_3]] : i3232// CHECK: %[[VAL_5:.*]] = wasmssa.const 2 : i3233// CHECK: %[[VAL_6:.*]] = wasmssa.div_si %[[VAL_4]] %[[VAL_5]] : i3234// CHECK: wasmssa.return %[[VAL_6]] : i3235// CHECK: }36// CHECK: wasmssa.memory exported @memory !wasmssa<limit[2:]>37 38// CHECK-LABEL: wasmssa.global @global_0 i32 mutable : {39// CHECK: %[[VAL_0:.*]] = wasmssa.const 66560 : i3240// CHECK: wasmssa.return %[[VAL_0]] : i3241