Skip to content

Commit a153009

Browse files
committed
more rse earlier
1 parent e707207 commit a153009

37 files changed

+3002
-2940
lines changed

src/module.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1507,6 +1507,7 @@ export class Module {
15071507

15081508
if (optimizeLevel >= 3 || shrinkLevel >= 1) {
15091509
passes.push("simplify-locals-notee-nostructure");
1510+
passes.push("rse");
15101511
passes.push("vacuum");
15111512
passes.push("ssa-nomerge");
15121513
}
@@ -1520,10 +1521,6 @@ export class Module {
15201521
passes.push("local-cse");
15211522
passes.push("reorder-locals");
15221523
}
1523-
if (optimizeLevel >= 2 || shrinkLevel >= 1) {
1524-
passes.push("rse");
1525-
passes.push("vacuum");
1526-
}
15271524
// FIXME: see issue #1288
15281525
// if (usesARC) {
15291526
// if (optimizeLevel < 3) {

tests/compiler/do.optimized.wat

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -160,23 +160,23 @@
160160
local.get $2
161161
i32.clz
162162
i32.sub
163-
local.tee $4
163+
local.tee $3
164164
i32.const 4
165165
i32.sub
166166
i32.shr_u
167167
i32.const 16
168168
i32.xor
169169
local.set $2
170-
local.get $4
170+
local.get $3
171171
i32.const 7
172172
i32.sub
173-
local.set $4
173+
local.set $3
174174
end
175175
local.get $2
176176
i32.const 16
177177
i32.lt_u
178178
i32.const 0
179-
local.get $4
179+
local.get $3
180180
i32.const 23
181181
i32.lt_u
182182
select
@@ -191,25 +191,25 @@
191191
end
192192
local.get $1
193193
i32.load offset=20
194-
local.set $3
194+
local.set $4
195195
local.get $1
196196
i32.load offset=16
197197
local.tee $5
198198
if
199199
local.get $5
200-
local.get $3
200+
local.get $4
201201
i32.store offset=20
202202
end
203-
local.get $3
203+
local.get $4
204204
if
205-
local.get $3
205+
local.get $4
206206
local.get $5
207207
i32.store offset=16
208208
end
209209
local.get $1
210210
local.get $0
211211
local.get $2
212-
local.get $4
212+
local.get $3
213213
i32.const 4
214214
i32.shl
215215
i32.add
@@ -221,24 +221,24 @@
221221
if
222222
local.get $0
223223
local.get $2
224-
local.get $4
224+
local.get $3
225225
i32.const 4
226226
i32.shl
227227
i32.add
228228
i32.const 2
229229
i32.shl
230230
i32.add
231-
local.get $3
231+
local.get $4
232232
i32.store offset=96
233-
local.get $3
233+
local.get $4
234234
i32.eqz
235235
if
236236
local.get $0
237-
local.get $4
237+
local.get $3
238238
i32.const 2
239239
i32.shl
240240
i32.add
241-
local.tee $3
241+
local.tee $4
242242
i32.load offset=4
243243
i32.const 1
244244
local.get $2
@@ -247,7 +247,7 @@
247247
i32.xor
248248
i32.and
249249
local.set $1
250-
local.get $3
250+
local.get $4
251251
local.get $1
252252
i32.store offset=4
253253
local.get $1
@@ -257,7 +257,7 @@
257257
local.get $0
258258
i32.load
259259
i32.const 1
260-
local.get $4
260+
local.get $3
261261
i32.shl
262262
i32.const -1
263263
i32.xor
@@ -667,16 +667,16 @@
667667
(local $1 i32)
668668
(local $2 i32)
669669
global.get $~lib/rt/tlsf/ROOT
670-
local.tee $0
670+
local.tee $1
671671
i32.eqz
672672
if
673673
i32.const 1
674674
memory.size
675-
local.tee $0
675+
local.tee $1
676676
i32.gt_s
677677
if (result i32)
678678
i32.const 1
679-
local.get $0
679+
local.get $1
680680
i32.sub
681681
memory.grow
682682
i32.const 0
@@ -688,18 +688,18 @@
688688
unreachable
689689
end
690690
i32.const 1216
691-
local.tee $0
691+
local.tee $1
692692
i32.const 0
693693
i32.store
694694
i32.const 2784
695695
i32.const 0
696696
i32.store
697697
loop $for-loop|0
698-
local.get $1
698+
local.get $0
699699
i32.const 23
700700
i32.lt_u
701701
if
702-
local.get $1
702+
local.get $0
703703
i32.const 2
704704
i32.shl
705705
i32.const 1216
@@ -713,7 +713,7 @@
713713
i32.const 16
714714
i32.lt_u
715715
if
716-
local.get $1
716+
local.get $0
717717
i32.const 4
718718
i32.shl
719719
local.get $2
@@ -731,10 +731,10 @@
731731
br $for-loop|1
732732
end
733733
end
734-
local.get $1
734+
local.get $0
735735
i32.const 1
736736
i32.add
737-
local.set $1
737+
local.set $0
738738
br $for-loop|0
739739
end
740740
end
@@ -747,7 +747,7 @@
747747
i32.const 1216
748748
global.set $~lib/rt/tlsf/ROOT
749749
end
750-
local.get $0
750+
local.get $1
751751
)
752752
(func $~lib/rt/tlsf/searchBlock (param $0 i32) (result i32)
753753
(local $1 i32)

tests/compiler/extends-baseaggregate.optimized.wat

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -85,23 +85,23 @@
8585
local.get $2
8686
i32.clz
8787
i32.sub
88-
local.tee $4
88+
local.tee $3
8989
i32.const 4
9090
i32.sub
9191
i32.shr_u
9292
i32.const 16
9393
i32.xor
9494
local.set $2
95-
local.get $4
95+
local.get $3
9696
i32.const 7
9797
i32.sub
98-
local.set $4
98+
local.set $3
9999
end
100100
local.get $2
101101
i32.const 16
102102
i32.lt_u
103103
i32.const 0
104-
local.get $4
104+
local.get $3
105105
i32.const 23
106106
i32.lt_u
107107
select
@@ -116,25 +116,25 @@
116116
end
117117
local.get $1
118118
i32.load offset=20
119-
local.set $3
119+
local.set $4
120120
local.get $1
121121
i32.load offset=16
122122
local.tee $5
123123
if
124124
local.get $5
125-
local.get $3
125+
local.get $4
126126
i32.store offset=20
127127
end
128-
local.get $3
128+
local.get $4
129129
if
130-
local.get $3
130+
local.get $4
131131
local.get $5
132132
i32.store offset=16
133133
end
134134
local.get $1
135135
local.get $0
136136
local.get $2
137-
local.get $4
137+
local.get $3
138138
i32.const 4
139139
i32.shl
140140
i32.add
@@ -146,24 +146,24 @@
146146
if
147147
local.get $0
148148
local.get $2
149-
local.get $4
149+
local.get $3
150150
i32.const 4
151151
i32.shl
152152
i32.add
153153
i32.const 2
154154
i32.shl
155155
i32.add
156-
local.get $3
156+
local.get $4
157157
i32.store offset=96
158-
local.get $3
158+
local.get $4
159159
i32.eqz
160160
if
161161
local.get $0
162-
local.get $4
162+
local.get $3
163163
i32.const 2
164164
i32.shl
165165
i32.add
166-
local.tee $3
166+
local.tee $4
167167
i32.load offset=4
168168
i32.const 1
169169
local.get $2
@@ -172,7 +172,7 @@
172172
i32.xor
173173
i32.and
174174
local.set $1
175-
local.get $3
175+
local.get $4
176176
local.get $1
177177
i32.store offset=4
178178
local.get $1
@@ -182,7 +182,7 @@
182182
local.get $0
183183
i32.load
184184
i32.const 1
185-
local.get $4
185+
local.get $3
186186
i32.shl
187187
i32.const -1
188188
i32.xor
@@ -592,16 +592,16 @@
592592
(local $1 i32)
593593
(local $2 i32)
594594
global.get $~lib/rt/tlsf/ROOT
595-
local.tee $0
595+
local.tee $1
596596
i32.eqz
597597
if
598598
i32.const 1
599599
memory.size
600-
local.tee $0
600+
local.tee $1
601601
i32.gt_s
602602
if (result i32)
603603
i32.const 1
604-
local.get $0
604+
local.get $1
605605
i32.sub
606606
memory.grow
607607
i32.const 0
@@ -613,18 +613,18 @@
613613
unreachable
614614
end
615615
i32.const 1568
616-
local.tee $0
616+
local.tee $1
617617
i32.const 0
618618
i32.store
619619
i32.const 3136
620620
i32.const 0
621621
i32.store
622622
loop $for-loop|0
623-
local.get $1
623+
local.get $0
624624
i32.const 23
625625
i32.lt_u
626626
if
627-
local.get $1
627+
local.get $0
628628
i32.const 2
629629
i32.shl
630630
i32.const 1568
@@ -638,7 +638,7 @@
638638
i32.const 16
639639
i32.lt_u
640640
if
641-
local.get $1
641+
local.get $0
642642
i32.const 4
643643
i32.shl
644644
local.get $2
@@ -656,10 +656,10 @@
656656
br $for-loop|1
657657
end
658658
end
659-
local.get $1
659+
local.get $0
660660
i32.const 1
661661
i32.add
662-
local.set $1
662+
local.set $0
663663
br $for-loop|0
664664
end
665665
end
@@ -672,7 +672,7 @@
672672
i32.const 1568
673673
global.set $~lib/rt/tlsf/ROOT
674674
end
675-
local.get $0
675+
local.get $1
676676
)
677677
(func $~lib/rt/tlsf/prepareSize (param $0 i32) (result i32)
678678
local.get $0

0 commit comments

Comments
 (0)