mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-20 04:48:07 +02:00
The previous pass was based on misconceptions and rounded up with bug fixes. The new pass is entirely rewritten and basically just one-to-one from the paper: "Revisiting Out-of-SSA Translation for Correctness, CodeQuality, and Efficiency" by B. Boissinot et al. It also incorporates the value-equality testing. The regressions are mainly due to creating parallelcopies for exec phis at loop headers (mitigated in the next commit). Totals from 4933 (3.61% of 136546) affected shaders (Raven): SpillSGPRs: 16249 -> 16527 (+1.71%); split: -0.28%, +1.99% SpillVGPRs: 1771 -> 1595 (-9.94%) CodeSize: 57544436 -> 58280304 (+1.28%); split: -0.00%, +1.28% Scratch: 176128 -> 179200 (+1.74%) Instrs: 11265783 -> 11445884 (+1.60%); split: -0.00%, +1.60% Latency: 552596156 -> 555880540 (+0.59%); split: -0.53%, +1.13% InvThroughput: 271431862 -> 273097423 (+0.61%); split: -0.18%, +0.79% VClause: 160240 -> 160241 (+0.00%); split: -0.02%, +0.02% SClause: 386863 -> 386685 (-0.05%); split: -0.07%, +0.02% Copies: 1180801 -> 1345633 (+13.96%); split: -0.02%, +13.98% Branches: 379129 -> 393052 (+3.67%); split: -0.01%, +3.69% Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9196> |
||
|---|---|---|
| .. | ||
| addrlib | ||
| ci | ||
| common | ||
| compiler | ||
| llvm | ||
| registers | ||
| vulkan | ||
| .clang-format | ||
| Android.addrlib.mk | ||
| Android.common.mk | ||
| Android.compiler.mk | ||
| Android.mk | ||
| Makefile.sources | ||
| meson.build | ||