8d037d943dba8c248c8283cddcd4e518eb7e18c0

Add infrastructure to reconstruct if's. Later in the series, this will let us hoist loads from inside uniform if's without speculating. For now, it lets us handle phi's in nir_opt_preamble in a straightforward way. Results on AGX are good: total instructions in shared programs: 1504730 -> 1499674 (-0.34%) instructions in affected programs: 153673 -> 148617 (-3.29%) helped: 496 HURT: 0 Instructions are helped. total bytes in shared programs: 10287768 -> 10238284 (-0.48%) bytes in affected programs: 1113724 -> 1064240 (-4.44%) helped: 496 HURT: 0 Bytes are helped. total halfregs in shared programs: 452669 -> 452049 (-0.14%) halfregs in affected programs: 14825 -> 14205 (-4.18%) helped: 152 HURT: 99 Halfregs are helped. total threads in shared programs: 16469504 -> 16470784 (<.01%) threads in affected programs: 8960 -> 10240 (14.29%) helped: 10 HURT: 0 Threads are helped. Results on ir3 is a bit more of a wash but still should be a win overall: The regression in moves seems scary, but the cost model already accounts for them as evidenced by instruction count coming out ahead. total instructions in shared programs: 3108750 -> 3105993 (-0.09%) instructions in affected programs: 317367 -> 314610 (-0.87%) helped: 675 HURT: 242 Instructions are helped. total nops in shared programs: 673152 -> 675048 (0.28%) nops in affected programs: 74551 -> 76447 (2.54%) helped: 353 HURT: 347 Inconclusive result (%-change mean confidence interval includes 0). total non-nops in shared programs: 2435598 -> 2430945 (-0.19%) non-nops in affected programs: 232664 -> 228011 (-2.00%) helped: 816 HURT: 38 Non-nops are helped. total mov in shared programs: 78201 -> 84011 (7.43%) mov in affected programs: 10726 -> 16536 (54.17%) helped: 60 HURT: 781 Mov are HURT. total cov in shared programs: 74964 -> 74906 (-0.08%) cov in affected programs: 273 -> 215 (-21.25%) helped: 17 HURT: 0 Cov are helped. total dwords in shared programs: 6716814 -> 6748726 (0.48%) dwords in affected programs: 879778 -> 911690 (3.63%) helped: 12 HURT: 948 Dwords are HURT. total full in shared programs: 193210 -> 193212 (<.01%) full in affected programs: 278 -> 280 (0.72%) helped: 12 HURT: 22 Inconclusive result (value mean confidence interval includes 0). total constlen in shared programs: 493632 -> 494816 (0.24%) constlen in affected programs: 19904 -> 21088 (5.95%) helped: 9 HURT: 306 Constlen are HURT. total cat0 in shared programs: 742476 -> 745046 (0.35%) cat0 in affected programs: 84455 -> 87025 (3.04%) helped: 277 HURT: 489 Cat0 are HURT. total cat1 in shared programs: 153303 -> 159059 (3.75%) cat1 in affected programs: 17810 -> 23566 (32.32%) helped: 69 HURT: 780 Cat1 are HURT. total cat2 in shared programs: 1144508 -> 1140731 (-0.33%) cat2 in affected programs: 121284 -> 117507 (-3.11%) helped: 841 HURT: 0 Cat2 are helped. total cat3 in shared programs: 942098 -> 934804 (-0.77%) cat3 in affected programs: 87140 -> 79846 (-8.37%) helped: 855 HURT: 1 Cat3 are helped. total cat4 in shared programs: 65261 -> 65249 (-0.02%) cat4 in affected programs: 42 -> 30 (-28.57%) helped: 12 HURT: 0 Cat4 are helped. total sstall in shared programs: 237311 -> 241281 (1.67%) sstall in affected programs: 33755 -> 37725 (11.76%) helped: 179 HURT: 493 Sstall are HURT. total (ss) in shared programs: 58166 -> 58795 (1.08%) (ss) in affected programs: 4535 -> 5164 (13.87%) helped: 35 HURT: 664 (ss) are HURT. total systall in shared programs: 503784 -> 503805 (<.01%) systall in affected programs: 3170 -> 3191 (0.66%) helped: 16 HURT: 13 Inconclusive result (value mean confidence interval includes 0). total (sy) in shared programs: 27261 -> 27259 (<.01%) (sy) in affected programs: 76 -> 74 (-2.63%) helped: 8 HURT: 5 Inconclusive result (value mean confidence interval includes 0). total waves in shared programs: 439848 -> 439872 (<.01%) waves in affected programs: 160 -> 184 (15.00%) helped: 12 HURT: 0 Waves are helped. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Connor Abbott <cwabbott0@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24011>
`Mesa <https://mesa3d.org>`_ - The 3D Graphics Library ====================================================== Source ------ This repository lives at https://gitlab.freedesktop.org/mesa/mesa. Other repositories are likely forks, and code found there is not supported. Build & install --------------- You can find more information in our documentation (`docs/install.rst <https://mesa3d.org/install.html>`_), but the recommended way is to use Meson (`docs/meson.rst <https://mesa3d.org/meson.html>`_): .. code-block:: sh $ mkdir build $ cd build $ meson .. $ sudo ninja install Support ------- Many Mesa devs hang on IRC; if you're not sure which channel is appropriate, you should ask your question on `OFTC's #dri-devel <irc://irc.oftc.net/dri-devel>`_, someone will redirect you if necessary. Remember that not everyone is in the same timezone as you, so it might take a while before someone qualified sees your question. To figure out who you're talking to, or which nick to ping for your question, check out `Who's Who on IRC <https://dri.freedesktop.org/wiki/WhosWho/>`_. The next best option is to ask your question in an email to the mailing lists: `mesa-dev\@lists.freedesktop.org <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`_ Bug reports ----------- If you think something isn't working properly, please file a bug report (`docs/bugs.rst <https://mesa3d.org/bugs.html>`_). Contributing ------------ Contributions are welcome, and step-by-step instructions can be found in our documentation (`docs/submittingpatches.rst <https://mesa3d.org/submittingpatches.html>`_). Note that Mesa uses gitlab for patches submission, review and discussions.
Description
Languages
C
75.3%
C++
18.2%
Python
2.7%
Assembly
1.5%
Rust
1.2%
Other
0.9%