Commit 775030a
authored
[NFC] Inlining: Avoid wasteful non-nullable local fixups (#8147)
Mark the scanning and planning passes as not modifying the IR at all.
Mark the doInlining and Inlining passes as not needing non-nullable
fixups, as we apply those fixups when we inline (update the comment
there to clarify that).
This makes `--inlining` 8% faster on a Dart testcase I am looking at.
That is the result of avoiding 87% of the scans for non-nullable
fixups. The `--inlining-optimizing` pass, however, has a more modest
speedup (since it optimizes after each inlining anyhow, which is even
larger work): 10% fewer scans, and wall time is within noise. (Still,
this does avoid some wasted work even there, and marking sub-passes
that do not modify the IR as not doing so seems like a win for
readability.)1 parent 96f2976 commit 775030a
1 file changed
+13
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
| 201 | + | |
| 202 | + | |
201 | 203 | | |
202 | 204 | | |
203 | 205 | | |
| |||
323 | 325 | | |
324 | 326 | | |
325 | 327 | | |
| 328 | + | |
| 329 | + | |
326 | 330 | | |
327 | 331 | | |
328 | 332 | | |
| |||
688 | 692 | | |
689 | 693 | | |
690 | 694 | | |
691 | | - | |
692 | | - | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
693 | 698 | | |
694 | 699 | | |
695 | 700 | | |
| |||
710 | 715 | | |
711 | 716 | | |
712 | 717 | | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
713 | 721 | | |
714 | 722 | | |
715 | 723 | | |
| |||
1254 | 1262 | | |
1255 | 1263 | | |
1256 | 1264 | | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
1257 | 1268 | | |
1258 | 1269 | | |
1259 | 1270 | | |
| |||
0 commit comments