mesa/src/freedreno
Connor Abbott 3ef858a6f6 ir3/spill: Fix simplify_phi_nodes with multiple loop nesting
Once we simplified a phi node, we never updated the definition it points
to, which meant that it could become out of date if that definition were
also simplified, and we didn't check that when rewriting sources. That
could happen when there are multiple nested loops with phi nodes at the
header.

Fix it by updating the phi's pointer. Since we always update sources
after visiting the definition it points to, when we go to rewrite a
source, if that source points to a simplified phi, the phi's pointer
can't be pointing to a simplified phi because we already visited the phi
earlier in the pass and updated it, or else it's been simplified in the
meantime and this isn't the last pass. This way we don't need to
keep recursing when rewriting sources.

Fixes: 613eaac7b5 ("ir3: Initial support for spilling non-shared registers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15035>
2022-02-16 09:55:39 +00:00
..
.gitlab-ci freedreno/ir3: add a6xx global atomics and separate atomic opcodes 2021-11-23 18:26:37 +00:00
afuc freedreno: silence sometimes-uninitialized warning 2022-01-12 21:20:23 +00:00
ci ir3/spill: Fix simplify_phi_nodes with multiple loop nesting 2022-02-16 09:55:39 +00:00
common freedreno: Update chip-ids 2022-01-13 05:26:11 +00:00
computerator freedreno/computerator: Mark shader bo for dumping 2021-12-20 19:47:35 +00:00
decode freedreno/decode: Handle chip-id 2022-01-14 23:17:03 +00:00
drm freedreno/drm, turnip: set DRM_RDWR for exported dma-bufs 2022-01-25 05:32:38 +00:00
drm-shim freedreno/drm-shim: keep GEM buffers page-aligned 2021-06-14 17:30:01 +00:00
ds freedreno/pps: Expose same counters as blob 2022-02-10 15:15:33 +00:00
fdl freedreno/fdl: Fix reinterpreting "size-compatible" formats 2022-01-13 13:44:14 +00:00
ir2 freedreno/ir2: Re-indent 2021-04-17 15:38:56 +00:00
ir3 ir3/spill: Fix simplify_phi_nodes with multiple loop nesting 2022-02-16 09:55:39 +00:00
isa freedreno/ir3: split up load/store/atomic by generation 2022-02-12 13:46:11 -05:00
perfcntrs freedreno/all: Introduce fd_dev_id 2021-08-06 18:51:50 +00:00
registers freedreno/a6xx: Name texture descriptor bit 2022-01-21 20:55:46 +00:00
rnn freedreno: Move the headergen2 test to be meson unit tests. 2021-10-01 23:16:04 +00:00
vulkan turnip: advertise VK_EXT_queue_family_foreign 2022-02-14 21:27:35 +00:00
.clang-format freedreno: Add some options to .clang-format 2021-07-12 20:57:21 +00:00
.dir-locals.el freedreno: Update editorconfig and emacs settings for freedreno reformat. 2021-05-10 23:16:00 +00:00
.editorconfig freedreno: Update editorconfig and emacs settings for freedreno reformat. 2021-05-10 23:16:00 +00:00
meson.build freedreno: support lua54 2021-10-26 00:33:31 +00:00