1;;! target = "x86_64" 2 3(module 4 (func (export "multiIf2") (param i32 i64 i64) (result i64 i64) 5 (local.get 2) 6 (local.get 1) 7 (local.get 0) 8 (if (param i64 i64) (result i64 i64) 9 (then 10 i64.add 11 i64.const 1) 12 ;; Hits the code path for an `else` after a block that does not end unreachable. 13 (else 14 i64.sub 15 i64.const 2)))) 16 17;; function u0:0(i64 vmctx, i64, i32, i64, i64) -> i64, i64 tail { 18;; gv0 = vmctx 19;; gv1 = load.i64 notrap aligned readonly gv0+8 20;; gv2 = load.i64 notrap aligned gv1+24 21;; stack_limit = gv2 22;; 23;; block0(v0: i64, v1: i64, v2: i32, v3: i64, v4: i64): 24;; @0037 brif v2, block2, block4 25;; 26;; block2: 27;; @0039 v9 = iadd.i64 v4, v3 28;; @003a v10 = iconst.i64 1 29;; @003c jump block3(v9, v10) ; v10 = 1 30;; 31;; block4: 32;; @003d v13 = isub.i64 v4, v3 33;; @003e v14 = iconst.i64 2 34;; @0040 jump block3(v13, v14) ; v14 = 2 35;; 36;; block3(v7: i64, v8: i64): 37;; @0041 jump block1(v7, v8) 38;; 39;; block1(v5: i64, v6: i64): 40;; @0041 return v5, v6 41;; } 42