test licm function %complex(i32) -> i32 native { ebb0(v0: i32): jump ebb1(v0) ebb1(v1: i32): v2 = iconst.i32 1 v3 = iconst.i32 4 v4 = iadd v2, v1 brz v1, ebb2(v2) jump ebb4(v4) ebb2(v5: i32): v6 = iconst.i32 2 v7 = iadd v5, v4 v8 = iadd v6, v1 jump ebb3(v8) ebb3(v9: i32): v10 = iadd v9, v5 v11 = iadd.i32 v1, v4 brz.i32 v1, ebb2(v9) jump ebb6(v10) ebb4(v12: i32): v13 = iconst.i32 3 v14 = iadd v12, v13 v15 = iadd.i32 v4, v13 jump ebb5(v13) ebb5(v16: i32): v17 = iadd.i32 v14, v4 brz.i32 v1, ebb4(v16) jump ebb6(v16) ebb6(v18: i32): v19 = iadd v18, v2 v20 = iadd.i32 v2, v3 brz.i32 v1, ebb1(v20) return v19 } ; sameln: function %complex ; nextln: ebb0(v0: i32): ; nextln: v2 = iconst.i32 1 ; nextln: v3 = iconst.i32 4 ; nextln: v6 = iconst.i32 2 ; nextln: v13 = iconst.i32 3 ; nextln: v20 = iadd v2, v3 ; nextln: jump ebb1(v0) ; nextln: ; nextln: ebb1(v1: i32): ; nextln: v4 = iadd.i32 v2, v1 ; nextln: v8 = iadd.i32 v6, v1 ; nextln: v11 = iadd v1, v4 ; nextln: brz v1, ebb2(v2) ; nextln: v15 = iadd v4, v13 ; nextln: jump ebb4(v4) ; nextln: ; nextln: ebb2(v5: i32): ; nextln: v7 = iadd v5, v4 ; nextln: jump ebb3(v8) ; nextln: ; nextln: ebb3(v9: i32): ; nextln: v10 = iadd v9, v5 ; nextln: brz.i32 v1, ebb2(v9) ; nextln: jump ebb6(v10) ; nextln: ; nextln: ebb4(v12: i32): ; nextln: v14 = iadd v12, v13 ; nextln: jump ebb5(v13) ; nextln: ; nextln: ebb5(v16: i32): ; nextln: v17 = iadd.i32 v14, v4 ; nextln: brz.i32 v1, ebb4(v16) ; nextln: jump ebb6(v16) ; nextln: ; nextln: ebb6(v18: i32): ; nextln: v19 = iadd v18, v2 ; nextln: brz.i32 v1, ebb1(v20) ; nextln: return v19 ; nextln: }