freedreno/ir3/cf: skip array load/store
authorRob Clark <robdclark@chromium.org>
Mon, 16 Mar 2020 21:50:32 +0000 (14:50 -0700)
committerMarge Bot <eric+marge@anholt.net>
Sat, 4 Apr 2020 00:07:10 +0000 (00:07 +0000)
commit67dbe8088fd97e944ea9adbf7080d63f8343f475
tree39817ae6dfd2619a6532c796204822a03417c6ab
parentc2d0cc8b8d5bd2f3b194642fd0187283da51d4ae
freedreno/ir3/cf: skip array load/store

Don't fold conversions into array (incl phi lowered to regs/array).
These aren't SSA.  Avoids crashes in particular in frag shaders with
flow control, which would leave a dangling array write disconnect from
the original cov src.

Possibly this could be slightly relaxed, if there is no other consumer
of the src, and it were in the same block.  But it would require
updating block->keeps, and taking care of barrier state.  Which isn't a
thing the cf pass does currently.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4423>
src/freedreno/ir3/ir3_cf.c