Commit a3ac1d9
authored
[NFC] Allow SubTypes::iterSubTypes to stop early (#8573)
In ConstantFieldPropagation this is important: we scan subtypes
to check if they all have 2 possible values we can `ref.test` between.
In the common case there are many values and we can stop early.
This makes the pass 4.2x faster on a large Dart testcase, and
`-O3` overall 3.5% faster.1 parent 6780d4b commit a3ac1d9
File tree
6 files changed
+52
-25
lines changed- src
- ir
- passes
- tools/fuzzing
- test/gtest
6 files changed
+52
-25
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
881 | 881 | | |
882 | 882 | | |
883 | 883 | | |
| 884 | + | |
884 | 885 | | |
885 | 886 | | |
886 | 887 | | |
| |||
3282 | 3283 | | |
3283 | 3284 | | |
3284 | 3285 | | |
| 3286 | + | |
3285 | 3287 | | |
3286 | 3288 | | |
3287 | 3289 | | |
| |||
3351 | 3353 | | |
3352 | 3354 | | |
3353 | 3355 | | |
| 3356 | + | |
3354 | 3357 | | |
3355 | 3358 | | |
3356 | 3359 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
171 | | - | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
172 | 174 | | |
173 | | - | |
| 175 | + | |
174 | 176 | | |
175 | | - | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
176 | 180 | | |
177 | 181 | | |
178 | 182 | | |
179 | | - | |
| 183 | + | |
180 | 184 | | |
181 | 185 | | |
182 | 186 | | |
| |||
201 | 205 | | |
202 | 206 | | |
203 | 207 | | |
204 | | - | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
205 | 211 | | |
206 | 212 | | |
207 | 213 | | |
208 | 214 | | |
209 | 215 | | |
210 | 216 | | |
| 217 | + | |
| 218 | + | |
211 | 219 | | |
212 | 220 | | |
213 | 221 | | |
214 | | - | |
| 222 | + | |
215 | 223 | | |
216 | 224 | | |
217 | 225 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
328 | 328 | | |
329 | 329 | | |
330 | 330 | | |
331 | | - | |
332 | | - | |
333 | | - | |
| 331 | + | |
| 332 | + | |
334 | 333 | | |
335 | | - | |
336 | | - | |
337 | | - | |
338 | | - | |
339 | | - | |
340 | | - | |
341 | 334 | | |
342 | 335 | | |
343 | 336 | | |
344 | | - | |
| 337 | + | |
345 | 338 | | |
346 | 339 | | |
347 | 340 | | |
348 | 341 | | |
349 | 342 | | |
350 | | - | |
| 343 | + | |
351 | 344 | | |
352 | 345 | | |
353 | 346 | | |
354 | | - | |
355 | | - | |
| 347 | + | |
356 | 348 | | |
357 | 349 | | |
358 | 350 | | |
| |||
375 | 367 | | |
376 | 368 | | |
377 | 369 | | |
378 | | - | |
379 | | - | |
| 370 | + | |
380 | 371 | | |
381 | 372 | | |
| 373 | + | |
| 374 | + | |
382 | 375 | | |
383 | | - | |
384 | 376 | | |
385 | | - | |
| 377 | + | |
| 378 | + | |
386 | 379 | | |
387 | 380 | | |
388 | 381 | | |
| |||
677 | 670 | | |
678 | 671 | | |
679 | 672 | | |
| 673 | + | |
680 | 674 | | |
681 | 675 | | |
682 | 676 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
496 | 496 | | |
497 | 497 | | |
498 | 498 | | |
| 499 | + | |
499 | 500 | | |
500 | 501 | | |
501 | 502 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1000 | 1000 | | |
1001 | 1001 | | |
1002 | 1002 | | |
1003 | | - | |
1004 | | - | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
1005 | 1007 | | |
1006 | 1008 | | |
1007 | 1009 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1695 | 1695 | | |
1696 | 1696 | | |
1697 | 1697 | | |
| 1698 | + | |
1698 | 1699 | | |
1699 | 1700 | | |
1700 | 1701 | | |
| |||
1717 | 1718 | | |
1718 | 1719 | | |
1719 | 1720 | | |
| 1721 | + | |
1720 | 1722 | | |
1721 | 1723 | | |
1722 | 1724 | | |
| |||
1729 | 1731 | | |
1730 | 1732 | | |
1731 | 1733 | | |
| 1734 | + | |
| 1735 | + | |
| 1736 | + | |
| 1737 | + | |
| 1738 | + | |
| 1739 | + | |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
1732 | 1751 | | |
1733 | 1752 | | |
1734 | 1753 | | |
| |||
0 commit comments