67 lines · plain
1// RUN: yaml2obj %S/inputs/global.yaml.wasm -o - | mlir-translate --import-wasm | FileCheck %s2/* Source code used to create this test:3(module4 5;; import a global variable from js6(global $imported_glob (import "env" "from_js") i32)7 8;; create a global variable9(global $normal_glob i32(i32.const 10))10(global $glob_mut (mut i32) (i32.const 10))11(global $glob_mut_ext (mut i32) (i32.const 10))12 13(global $normal_glob_i64 i64(i64.const 11))14(global $normal_glob_f32 f32(f32.const 12))15(global $normal_glob_f64 f64(f64.const 13))16 17(func $main (result i32)18;; load both global variables onto the stack19global.get $imported_glob20global.get $normal_glob21 22i32.add ;; add up both globals23 24global.get $glob_mut25global.get $glob_mut_ext26i32.add27i32.add28)29)30*/31 32// CHECK-LABEL: wasmssa.import_global "from_js" from "env" as @global_0 : i3233 34// CHECK-LABEL: wasmssa.func @func_0() -> i32 {35// CHECK: %[[VAL_0:.*]] = wasmssa.global_get @global_0 : i3236// CHECK: %[[VAL_1:.*]] = wasmssa.global_get @global_1 : i3237// CHECK: %[[VAL_2:.*]] = wasmssa.add %[[VAL_0]] %[[VAL_1]] : i3238// CHECK: %[[VAL_3:.*]] = wasmssa.global_get @global_2 : i3239// CHECK: %[[VAL_4:.*]] = wasmssa.global_get @global_3 : i3240// CHECK: %[[VAL_5:.*]] = wasmssa.add %[[VAL_3]] %[[VAL_4]] : i3241// CHECK: %[[VAL_6:.*]] = wasmssa.add %[[VAL_2]] %[[VAL_5]] : i3242// CHECK: wasmssa.return %[[VAL_6]] : i3243 44// CHECK-LABEL: wasmssa.global @global_1 i32 : {45// CHECK: %[[VAL_0:.*]] = wasmssa.const 10 : i3246// CHECK: wasmssa.return %[[VAL_0]] : i3247 48// CHECK-LABEL: wasmssa.global @global_2 i32 mutable : {49// CHECK: %[[VAL_0:.*]] = wasmssa.const 10 : i3250// CHECK: wasmssa.return %[[VAL_0]] : i3251 52// CHECK-LABEL: wasmssa.global @global_3 i32 mutable : {53// CHECK: %[[VAL_0:.*]] = wasmssa.const 10 : i3254// CHECK: wasmssa.return %[[VAL_0]] : i3255 56// CHECK-LABEL: wasmssa.global @global_4 i64 : {57// CHECK: %[[VAL_0:.*]] = wasmssa.const 11 : i6458// CHECK: wasmssa.return %[[VAL_0]] : i6459 60// CHECK-LABEL: wasmssa.global @global_5 f32 : {61// CHECK: %[[VAL_0:.*]] = wasmssa.const 1.200000e+01 : f3262// CHECK: wasmssa.return %[[VAL_0]] : f3263 64// CHECK-LABEL: wasmssa.global @global_6 f64 : {65// CHECK: %[[VAL_0:.*]] = wasmssa.const 1.300000e+01 : f6466// CHECK: wasmssa.return %[[VAL_0]] : f6467