Skip to content

Commit 0be3cf6

Browse files
committed
simplify-locals-nostructure -> simplify-locals-notee-nostructure
1 parent a153009 commit 0be3cf6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+4555
-4502
lines changed

src/module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1549,7 +1549,7 @@ export class Module {
15491549
if (optimizeLevel >= 3 && shrinkLevel <= 1) {
15501550
passes.push("licm");
15511551
}
1552-
passes.push("simplify-locals-nostructure");
1552+
passes.push("simplify-locals-notee-nostructure");
15531553
passes.push("vacuum");
15541554

15551555
passes.push("reorder-locals");

tests/compiler/binary.optimized.wat

Lines changed: 44 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@
132132
br $while-continue|0
133133
end
134134
end
135+
local.get $4
135136
local.get $1
136137
i32.const 8388608
137138
i32.ge_u
@@ -150,31 +151,27 @@
150151
i32.const 8
151152
i32.shl
152153
i32.clz
153-
local.tee $3
154+
local.tee $1
154155
i32.shl
155-
local.set $1
156+
local.tee $3
157+
i32.const 8388608
158+
i32.sub
156159
local.get $2
160+
local.get $1
161+
i32.sub
162+
local.tee $1
163+
i32.const 23
164+
i32.shl
165+
i32.or
157166
local.get $3
167+
i32.const 1
168+
local.get $1
158169
i32.sub
159-
local.tee $2
170+
i32.shr_u
171+
local.get $1
160172
i32.const 0
161173
i32.gt_s
162-
if (result i32)
163-
local.get $1
164-
i32.const 8388608
165-
i32.sub
166-
local.get $2
167-
i32.const 23
168-
i32.shl
169-
i32.or
170-
else
171-
local.get $1
172-
i32.const 1
173-
local.get $2
174-
i32.sub
175-
i32.shr_u
176-
end
177-
local.get $4
174+
select
178175
i32.or
179176
f32.reinterpret_i32
180177
return
@@ -195,7 +192,12 @@
195192
i64.shr_u
196193
i64.const 2047
197194
i64.and
198-
local.tee $2
195+
local.set $2
196+
local.get $1
197+
i64.const 63
198+
i64.shr_u
199+
local.set $3
200+
local.get $2
199201
i64.const 2047
200202
i64.eq
201203
if
@@ -204,19 +206,15 @@
204206
f64.div
205207
return
206208
end
207-
local.get $1
208-
i64.const 63
209-
i64.shr_u
210-
local.set $4
211209
block $folding-inner0
212210
local.get $1
213211
i64.const 1
214212
i64.shl
215-
local.tee $3
213+
local.tee $4
216214
i64.const 9214364837600034816
217215
i64.le_u
218216
if
219-
local.get $3
217+
local.get $4
220218
i64.const 9214364837600034816
221219
i64.eq
222220
br_if $folding-inner0
@@ -276,6 +274,9 @@
276274
br $while-continue|0
277275
end
278276
end
277+
local.get $3
278+
i64.const 63
279+
i64.shl
279280
local.get $1
280281
i64.const 4503599627370496
281282
i64.ge_u
@@ -294,35 +295,29 @@
294295
i64.const 11
295296
i64.shl
296297
i64.clz
297-
local.tee $3
298+
local.tee $1
298299
i64.shl
299-
local.set $1
300+
local.tee $3
301+
i64.const 4503599627370496
302+
i64.sub
300303
local.get $2
304+
local.get $1
305+
i64.sub
306+
local.tee $1
307+
i64.const 52
308+
i64.shl
309+
i64.or
301310
local.get $3
311+
i64.const 0
312+
local.get $1
302313
i64.sub
303-
local.tee $2
314+
i64.const 1
315+
i64.add
316+
i64.shr_u
317+
local.get $1
304318
i64.const 0
305319
i64.gt_s
306-
if (result i64)
307-
local.get $1
308-
i64.const 4503599627370496
309-
i64.sub
310-
local.get $2
311-
i64.const 52
312-
i64.shl
313-
i64.or
314-
else
315-
local.get $1
316-
i64.const 0
317-
local.get $2
318-
i64.sub
319-
i64.const 1
320-
i64.add
321-
i64.shr_u
322-
end
323-
local.get $4
324-
i64.const 63
325-
i64.shl
320+
select
326321
i64.or
327322
f64.reinterpret_i64
328323
return

tests/compiler/do.optimized.wat

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,19 +238,19 @@
238238
i32.const 2
239239
i32.shl
240240
i32.add
241-
local.tee $4
241+
local.tee $1
242242
i32.load offset=4
243243
i32.const 1
244244
local.get $2
245245
i32.shl
246246
i32.const -1
247247
i32.xor
248248
i32.and
249-
local.set $1
250-
local.get $4
249+
local.set $2
251250
local.get $1
251+
local.get $2
252252
i32.store offset=4
253-
local.get $1
253+
local.get $2
254254
i32.eqz
255255
if
256256
local.get $0

tests/compiler/extends-baseaggregate.optimized.wat

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -163,19 +163,19 @@
163163
i32.const 2
164164
i32.shl
165165
i32.add
166-
local.tee $4
166+
local.tee $1
167167
i32.load offset=4
168168
i32.const 1
169169
local.get $2
170170
i32.shl
171171
i32.const -1
172172
i32.xor
173173
i32.and
174-
local.set $1
175-
local.get $4
174+
local.set $2
176175
local.get $1
176+
local.get $2
177177
i32.store offset=4
178-
local.get $1
178+
local.get $2
179179
i32.eqz
180180
if
181181
local.get $0
@@ -1820,26 +1820,26 @@
18201820
(local $5 i32)
18211821
global.get $~lib/rt/pure/ROOTS
18221822
local.tee $1
1823-
local.tee $3
1824-
local.set $4
1825-
global.get $~lib/rt/pure/CUR
1823+
local.tee $2
18261824
local.set $0
1825+
global.get $~lib/rt/pure/CUR
1826+
local.set $3
18271827
loop $for-loop|0
1828-
local.get $4
18291828
local.get $0
1829+
local.get $3
18301830
i32.lt_u
18311831
if
1832-
local.get $4
1832+
local.get $0
18331833
i32.load
1834-
local.tee $5
1834+
local.tee $4
18351835
i32.load offset=4
1836-
local.tee $2
1836+
local.tee $5
18371837
i32.const 1879048192
18381838
i32.and
18391839
i32.const 805306368
18401840
i32.eq
18411841
if (result i32)
1842-
local.get $2
1842+
local.get $5
18431843
i32.const 268435455
18441844
i32.and
18451845
i32.const 0
@@ -1848,51 +1848,51 @@
18481848
i32.const 0
18491849
end
18501850
if
1851-
local.get $5
1851+
local.get $4
18521852
call $~lib/rt/pure/markGray
1853-
local.get $3
1854-
local.get $5
1853+
local.get $2
1854+
local.get $4
18551855
i32.store
1856-
local.get $3
1856+
local.get $2
18571857
i32.const 4
18581858
i32.add
1859-
local.set $3
1859+
local.set $2
18601860
else
18611861
i32.const 0
1862-
local.get $2
1862+
local.get $5
18631863
i32.const 268435455
18641864
i32.and
18651865
i32.eqz
1866-
local.get $2
1866+
local.get $5
18671867
i32.const 1879048192
18681868
i32.and
18691869
select
18701870
if
18711871
global.get $~lib/rt/tlsf/ROOT
1872-
local.get $5
1872+
local.get $4
18731873
call $~lib/rt/tlsf/freeBlock
18741874
else
1875+
local.get $4
18751876
local.get $5
1876-
local.get $2
18771877
i32.const 2147483647
18781878
i32.and
18791879
i32.store offset=4
18801880
end
18811881
end
1882-
local.get $4
1882+
local.get $0
18831883
i32.const 4
18841884
i32.add
1885-
local.set $4
1885+
local.set $0
18861886
br $for-loop|0
18871887
end
18881888
end
1889-
local.get $3
1889+
local.get $2
18901890
global.set $~lib/rt/pure/CUR
18911891
local.get $1
18921892
local.set $0
18931893
loop $for-loop|1
18941894
local.get $0
1895-
local.get $3
1895+
local.get $2
18961896
i32.lt_u
18971897
if
18981898
local.get $0
@@ -1909,18 +1909,18 @@
19091909
local.set $0
19101910
loop $for-loop|2
19111911
local.get $0
1912-
local.get $3
1912+
local.get $2
19131913
i32.lt_u
19141914
if
19151915
local.get $0
19161916
i32.load
1917-
local.tee $2
1918-
local.get $2
1917+
local.tee $3
1918+
local.get $3
19191919
i32.load offset=4
19201920
i32.const 2147483647
19211921
i32.and
19221922
i32.store offset=4
1923-
local.get $2
1923+
local.get $3
19241924
call $~lib/rt/pure/collectWhite
19251925
local.get $0
19261926
i32.const 4

tests/compiler/for.optimized.wat

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,19 +235,19 @@
235235
i32.const 2
236236
i32.shl
237237
i32.add
238-
local.tee $4
238+
local.tee $1
239239
i32.load offset=4
240240
i32.const 1
241241
local.get $2
242242
i32.shl
243243
i32.const -1
244244
i32.xor
245245
i32.and
246-
local.set $1
247-
local.get $4
246+
local.set $2
248247
local.get $1
248+
local.get $2
249249
i32.store offset=4
250-
local.get $1
250+
local.get $2
251251
i32.eqz
252252
if
253253
local.get $0

tests/compiler/implicit-getter-setter.optimized.wat

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,19 +170,19 @@
170170
i32.const 2
171171
i32.shl
172172
i32.add
173-
local.tee $4
173+
local.tee $1
174174
i32.load offset=4
175175
i32.const 1
176176
local.get $2
177177
i32.shl
178178
i32.const -1
179179
i32.xor
180180
i32.and
181-
local.set $1
182-
local.get $4
181+
local.set $2
183182
local.get $1
183+
local.get $2
184184
i32.store offset=4
185-
local.get $1
185+
local.get $2
186186
i32.eqz
187187
if
188188
local.get $0

0 commit comments

Comments
 (0)