Commit 632b854
committed
fix: RemoveEmptyLoop 副作用判定排除 terminator
之前在 hasSideEffect 中新增
`mayHaveSideEffects() && 非Call` 判定以稳健捕获 VSTORE,但
mayHaveSideEffects() 对 terminator 也返回 true,而 isRemovableLoop
遍历循环体含块末 terminator(每个 BB 都以分支结尾),导致所有循环
被判为有副作用,全局静默禁用了空循环消除,引发退化.
显式排除 isTerminator,保留 VSTORE 捕获与 null 检查.1 parent dd382cb commit 632b854
1 file changed
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
81 | 84 | | |
82 | 85 | | |
83 | 86 | | |
| |||
0 commit comments