d78c4c44c311d045bcddfb21f1014854fc3b0762
If we need to insert a mov in order to schedule a branch, we do not schedule anything writer to the source of that mov in the same bundle to avoid a data race between the read and the write. That's too conservative, though: it is legitimate to write in the first part of the ALU word (VMUL/SADD stages) and then read from the second part (VADD/SMUL/VLUT stages). Reset the predicate.exclude when going from scheduling the latter stages to the former, to allow a sequence of code like: FCMP.vector 0.xyzw, ... branch 0.x to be scheduled as vmul.FCMP.vector 0.xyzw smul r31.w, 0.x branch 0.x rather than getting split up into two bundles. This mitigates a cycle count regression from the copyprop change. total instructions in shared programs: 1514856 -> 1514834 (<.01%) instructions in affected programs: 3087 -> 3065 (-0.71%) helped: 5 HURT: 1 Inconclusive result (value mean confidence interval includes 0). total bundles in shared programs: 645327 -> 645093 (-0.04%) bundles in affected programs: 40498 -> 40264 (-0.58%) helped: 230 HURT: 68 Bundles are helped. total quadwords in shared programs: 1130554 -> 1130751 (0.02%) quadwords in affected programs: 75323 -> 75520 (0.26%) helped: 49 HURT: 231 Quadwords are HURT. total registers in shared programs: 90559 -> 90563 (<.01%) registers in affected programs: 119 -> 123 (3.36%) helped: 5 HURT: 8 Inconclusive result (value mean confidence interval includes 0). total threads in shared programs: 55590 -> 55594 (<.01%) threads in affected programs: 4 -> 8 (100.00%) helped: 4 HURT: 0 Threads are helped. total spills in shared programs: 1402 -> 1400 (-0.14%) spills in affected programs: 289 -> 287 (-0.69%) helped: 1 HURT: 1 total fills in shared programs: 5285 -> 5276 (-0.17%) fills in affected programs: 448 -> 439 (-2.01%) helped: 2 HURT: 0 Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Italo Nicola <italonicola@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23769>
`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.5%
C++
17.2%
Python
2.7%
Rust
1.8%
Assembly
1.5%
Other
1%