1;;! test = "optimize" 2;;! target = "x86_64" 3;;! flags = ["-Omemory-reservation=0x20000", "-Omemory-may-move=n"] 4 5(module 6 (memory 1) 7 (func $load (param i32) (result i32) 8 (i32.load (local.get 0))) 9) 10;; function u0:0(i64 vmctx, i64, i32) -> i32 tail { 11;; gv0 = vmctx 12;; gv1 = load.i64 notrap aligned readonly gv0+8 13;; gv2 = load.i64 notrap aligned gv1+24 14;; gv3 = vmctx 15;; gv4 = load.i64 notrap aligned gv3+64 16;; gv5 = load.i64 notrap aligned readonly can_move gv3+56 17;; stack_limit = gv2 18;; 19;; block0(v0: i64, v1: i64, v2: i32): 20;; @0020 v4 = uextend.i64 v2 21;; @0020 v5 = iconst.i64 0x0001_fffc 22;; @0020 v6 = icmp ugt v4, v5 ; v5 = 0x0001_fffc 23;; @0020 v9 = iconst.i64 0 24;; @0020 v7 = load.i64 notrap aligned readonly can_move v0+56 25;; @0020 v8 = iadd v7, v4 26;; @0020 v10 = select_spectre_guard v6, v9, v8 ; v9 = 0 27;; @0020 v11 = load.i32 little heap v10 28;; @0023 jump block1 29;; 30;; block1: 31;; @0023 return v11 32;; } 33