freedreno/ir3: add post-scheduler cp pass
authorRob Clark <robdclark@chromium.org>
Wed, 1 Apr 2020 22:37:34 +0000 (15:37 -0700)
committerMarge Bot <eric+marge@anholt.net>
Tue, 16 Jun 2020 20:56:15 +0000 (20:56 +0000)
commit680ca5b393827bde8b3a8f7dc1893d0f646494ef
treeed90bfc16d9843ffc44281a448ad5538d23dc773
parenta60d48a863d8e9d459562b874c463cd798f47a87
freedreno/ir3: add post-scheduler cp pass

A pass to eliminate extra mov's from an array.  We need to do this after
scheduling so we know that there are not any potentially conflicting
array writes between the original `mov` and it's use(s).

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2124
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5280>
src/freedreno/Makefile.sources
src/freedreno/ir3/ir3.h
src/freedreno/ir3/ir3_compiler_nir.c
src/freedreno/ir3/ir3_cp_postsched.c [new file with mode: 0644]
src/freedreno/ir3/meson.build