|
23 | 23 | ;; stack_limit = gv2 |
24 | 24 | ;; |
25 | 25 | ;; block0(v0: i64, v1: i64): |
26 | | -;; v45 = iconst.i64 80 |
27 | | -;; @0034 v4 = iadd v0, v45 ; v45 = 80 |
| 26 | +;; v49 = iconst.i64 80 |
| 27 | +;; @0034 v4 = iadd v0, v49 ; v49 = 80 |
28 | 28 | ;; @0034 v5 = load.i32 notrap aligned v4 |
29 | | -;; v46 = stack_addr.i64 ss0 |
30 | | -;; store notrap v5, v46 |
31 | | -;; v48 = iconst.i32 0 |
32 | | -;; @0034 v6 = icmp eq v5, v48 ; v48 = 0 |
33 | | -;; @0034 brif v6, block5, block2 |
| 29 | +;; v50 = stack_addr.i64 ss0 |
| 30 | +;; store notrap v5, v50 |
| 31 | +;; v52 = iconst.i32 1 |
| 32 | +;; @0034 v6 = band v5, v52 ; v52 = 1 |
| 33 | +;; v54 = iconst.i32 0 |
| 34 | +;; @0034 v7 = icmp eq v5, v54 ; v54 = 0 |
| 35 | +;; @0034 v8 = uextend.i32 v7 |
| 36 | +;; @0034 v9 = bor v6, v8 |
| 37 | +;; @0034 brif v9, block5, block2 |
34 | 38 | ;; |
35 | 39 | ;; block2: |
36 | | -;; @0034 v8 = load.i64 notrap aligned readonly v0+56 |
37 | | -;; @0034 v9 = load.i64 notrap aligned v8 |
38 | | -;; @0034 v10 = load.i64 notrap aligned v8+8 |
39 | | -;; @0034 v11 = icmp eq v9, v10 |
40 | | -;; @0034 brif v11, block3, block4 |
| 40 | +;; @0034 v11 = load.i64 notrap aligned readonly v0+56 |
| 41 | +;; @0034 v12 = load.i64 notrap aligned v11 |
| 42 | +;; @0034 v13 = load.i64 notrap aligned v11+8 |
| 43 | +;; @0034 v14 = icmp eq v12, v13 |
| 44 | +;; @0034 brif v14, block3, block4 |
41 | 45 | ;; |
42 | 46 | ;; block4: |
43 | | -;; @0034 v16 = uextend.i64 v5 |
44 | | -;; @0034 v17 = iconst.i64 8 |
45 | | -;; @0034 v18 = uadd_overflow_trap v16, v17, user1 ; v17 = 8 |
46 | | -;; @0034 v20 = uadd_overflow_trap v18, v17, user1 ; v17 = 8 |
47 | | -;; @0034 v15 = load.i64 notrap aligned readonly can_move v0+48 |
48 | | -;; @0034 v21 = icmp ule v20, v15 |
49 | | -;; @0034 trapz v21, user1 |
50 | | -;; @0034 v13 = load.i64 notrap aligned readonly can_move v0+40 |
51 | | -;; @0034 v22 = iadd v13, v18 |
52 | | -;; @0034 v23 = load.i64 notrap aligned v22 |
53 | | -;; v50 = iconst.i64 1 |
54 | | -;; @0034 v24 = iadd v23, v50 ; v50 = 1 |
55 | | -;; @0034 store notrap aligned v24, v22 |
56 | | -;; v41 = load.i32 notrap v46 |
57 | | -;; @0034 store notrap aligned v41, v9 |
58 | | -;; v53 = iconst.i64 4 |
59 | | -;; @0034 v36 = iadd.i64 v9, v53 ; v53 = 4 |
60 | | -;; @0034 store notrap aligned v36, v8 |
| 47 | +;; @0034 v19 = uextend.i64 v5 |
| 48 | +;; @0034 v20 = iconst.i64 8 |
| 49 | +;; @0034 v21 = uadd_overflow_trap v19, v20, user1 ; v20 = 8 |
| 50 | +;; @0034 v23 = uadd_overflow_trap v21, v20, user1 ; v20 = 8 |
| 51 | +;; @0034 v18 = load.i64 notrap aligned readonly can_move v0+48 |
| 52 | +;; @0034 v24 = icmp ule v23, v18 |
| 53 | +;; @0034 trapz v24, user1 |
| 54 | +;; @0034 v16 = load.i64 notrap aligned readonly can_move v0+40 |
| 55 | +;; @0034 v25 = iadd v16, v21 |
| 56 | +;; @0034 v26 = load.i64 notrap aligned v25 |
| 57 | +;; v56 = iconst.i64 1 |
| 58 | +;; @0034 v27 = iadd v26, v56 ; v56 = 1 |
| 59 | +;; @0034 store notrap aligned v27, v25 |
| 60 | +;; v44 = load.i32 notrap v50 |
| 61 | +;; @0034 store notrap aligned v44, v12 |
| 62 | +;; v59 = iconst.i64 4 |
| 63 | +;; @0034 v39 = iadd.i64 v12, v59 ; v59 = 4 |
| 64 | +;; @0034 store notrap aligned v39, v11 |
61 | 65 | ;; @0034 jump block5 |
62 | 66 | ;; |
63 | 67 | ;; block3 cold: |
64 | | -;; @0034 v38 = call fn0(v0, v5), stack_map=[i32 @ ss0+0] |
| 68 | +;; @0034 v41 = call fn0(v0, v5), stack_map=[i32 @ ss0+0] |
65 | 69 | ;; @0034 jump block5 |
66 | 70 | ;; |
67 | 71 | ;; block5: |
68 | | -;; v39 = load.i32 notrap v46 |
| 72 | +;; v42 = load.i32 notrap v50 |
69 | 73 | ;; @0036 jump block1 |
70 | 74 | ;; |
71 | 75 | ;; block1: |
72 | | -;; @0036 return v39 |
| 76 | +;; @0036 return v42 |
73 | 77 | ;; } |
74 | 78 | ;; |
75 | 79 | ;; function u0:1(i64 vmctx, i64, i32) tail { |
|
82 | 86 | ;; stack_limit = gv2 |
83 | 87 | ;; |
84 | 88 | ;; block0(v0: i64, v1: i64, v2: i32): |
85 | | -;; v58 = iconst.i64 80 |
86 | | -;; @003b v4 = iadd v0, v58 ; v58 = 80 |
| 89 | +;; v64 = iconst.i64 80 |
| 90 | +;; @003b v4 = iadd v0, v64 ; v64 = 80 |
87 | 91 | ;; @003b v5 = load.i32 notrap aligned v4 |
88 | | -;; v59 = iconst.i32 0 |
89 | | -;; @003b v6 = icmp eq v2, v59 ; v59 = 0 |
90 | | -;; @003b brif v6, block3, block2 |
| 92 | +;; v65 = iconst.i32 1 |
| 93 | +;; @003b v6 = band v2, v65 ; v65 = 1 |
| 94 | +;; v66 = iconst.i32 0 |
| 95 | +;; @003b v7 = icmp eq v2, v66 ; v66 = 0 |
| 96 | +;; @003b v8 = uextend.i32 v7 |
| 97 | +;; @003b v9 = bor v6, v8 |
| 98 | +;; @003b brif v9, block3, block2 |
91 | 99 | ;; |
92 | 100 | ;; block2: |
93 | | -;; @003b v11 = uextend.i64 v2 |
94 | | -;; @003b v37 = iconst.i64 8 |
95 | | -;; @003b v13 = uadd_overflow_trap v11, v37, user1 ; v37 = 8 |
96 | | -;; @003b v15 = uadd_overflow_trap v13, v37, user1 ; v37 = 8 |
97 | | -;; @003b v35 = load.i64 notrap aligned readonly can_move v0+48 |
98 | | -;; @003b v16 = icmp ule v15, v35 |
99 | | -;; @003b trapz v16, user1 |
100 | | -;; @003b v33 = load.i64 notrap aligned readonly can_move v0+40 |
101 | | -;; @003b v17 = iadd v33, v13 |
102 | | -;; @003b v18 = load.i64 notrap aligned v17 |
103 | | -;; v60 = iconst.i64 1 |
104 | | -;; @003b v19 = iadd v18, v60 ; v60 = 1 |
105 | | -;; @003b store notrap aligned v19, v17 |
| 101 | +;; @003b v14 = uextend.i64 v2 |
| 102 | +;; @003b v43 = iconst.i64 8 |
| 103 | +;; @003b v16 = uadd_overflow_trap v14, v43, user1 ; v43 = 8 |
| 104 | +;; @003b v18 = uadd_overflow_trap v16, v43, user1 ; v43 = 8 |
| 105 | +;; @003b v41 = load.i64 notrap aligned readonly can_move v0+48 |
| 106 | +;; @003b v19 = icmp ule v18, v41 |
| 107 | +;; @003b trapz v19, user1 |
| 108 | +;; @003b v39 = load.i64 notrap aligned readonly can_move v0+40 |
| 109 | +;; @003b v20 = iadd v39, v16 |
| 110 | +;; @003b v21 = load.i64 notrap aligned v20 |
| 111 | +;; v67 = iconst.i64 1 |
| 112 | +;; @003b v22 = iadd v21, v67 ; v67 = 1 |
| 113 | +;; @003b store notrap aligned v22, v20 |
106 | 114 | ;; @003b jump block3 |
107 | 115 | ;; |
108 | 116 | ;; block3: |
109 | | -;; v64 = iadd.i64 v0, v58 ; v58 = 80 |
110 | | -;; @003b store.i32 notrap aligned v2, v64 |
111 | | -;; v65 = iconst.i32 0 |
112 | | -;; v66 = icmp.i32 eq v5, v65 ; v65 = 0 |
113 | | -;; @003b brif v66, block7, block4 |
| 117 | +;; v72 = iadd.i64 v0, v64 ; v64 = 80 |
| 118 | +;; @003b store.i32 notrap aligned v2, v72 |
| 119 | +;; v73 = iconst.i32 1 |
| 120 | +;; v74 = band.i32 v5, v73 ; v73 = 1 |
| 121 | +;; v75 = iconst.i32 0 |
| 122 | +;; v76 = icmp.i32 eq v5, v75 ; v75 = 0 |
| 123 | +;; @003b v36 = uextend.i32 v76 |
| 124 | +;; @003b v37 = bor v74, v36 |
| 125 | +;; @003b brif v37, block7, block4 |
114 | 126 | ;; |
115 | 127 | ;; block4: |
116 | | -;; @003b v36 = uextend.i64 v5 |
117 | | -;; v67 = iconst.i64 8 |
118 | | -;; @003b v38 = uadd_overflow_trap v36, v67, user1 ; v67 = 8 |
119 | | -;; @003b v40 = uadd_overflow_trap v38, v67, user1 ; v67 = 8 |
120 | | -;; v68 = load.i64 notrap aligned readonly can_move v0+48 |
121 | | -;; @003b v41 = icmp ule v40, v68 |
122 | | -;; @003b trapz v41, user1 |
123 | | -;; v69 = load.i64 notrap aligned readonly can_move v0+40 |
124 | | -;; @003b v42 = iadd v69, v38 |
125 | | -;; @003b v43 = load.i64 notrap aligned v42 |
126 | | -;; v62 = iconst.i64 -1 |
127 | | -;; @003b v44 = iadd v43, v62 ; v62 = -1 |
128 | | -;; v63 = iconst.i64 0 |
129 | | -;; @003b v45 = icmp eq v44, v63 ; v63 = 0 |
130 | | -;; @003b brif v45, block5, block6 |
| 128 | +;; @003b v42 = uextend.i64 v5 |
| 129 | +;; v77 = iconst.i64 8 |
| 130 | +;; @003b v44 = uadd_overflow_trap v42, v77, user1 ; v77 = 8 |
| 131 | +;; @003b v46 = uadd_overflow_trap v44, v77, user1 ; v77 = 8 |
| 132 | +;; v78 = load.i64 notrap aligned readonly can_move v0+48 |
| 133 | +;; @003b v47 = icmp ule v46, v78 |
| 134 | +;; @003b trapz v47, user1 |
| 135 | +;; v79 = load.i64 notrap aligned readonly can_move v0+40 |
| 136 | +;; @003b v48 = iadd v79, v44 |
| 137 | +;; @003b v49 = load.i64 notrap aligned v48 |
| 138 | +;; v70 = iconst.i64 -1 |
| 139 | +;; @003b v50 = iadd v49, v70 ; v70 = -1 |
| 140 | +;; v71 = iconst.i64 0 |
| 141 | +;; @003b v51 = icmp eq v50, v71 ; v71 = 0 |
| 142 | +;; @003b brif v51, block5, block6 |
131 | 143 | ;; |
132 | 144 | ;; block5 cold: |
133 | 145 | ;; @003b call fn0(v0, v5) |
134 | 146 | ;; @003b jump block7 |
135 | 147 | ;; |
136 | 148 | ;; block6: |
137 | | -;; v70 = iadd.i64 v43, v62 ; v62 = -1 |
138 | | -;; @003b store notrap aligned v70, v42 |
| 149 | +;; v80 = iadd.i64 v49, v70 ; v70 = -1 |
| 150 | +;; @003b store notrap aligned v80, v48 |
139 | 151 | ;; @003b jump block7 |
140 | 152 | ;; |
141 | 153 | ;; block7: |
|
0 commit comments