freedreno/ir3: post-RA sched pass
authorRob Clark <robdclark@chromium.org>
Fri, 13 Dec 2019 22:09:39 +0000 (14:09 -0800)
committerMarge Bot <eric+marge@anholt.net>
Sat, 1 Feb 2020 02:40:22 +0000 (02:40 +0000)
commit0f78c32492ed096649b015a4967d6d56c18dd14a
tree1912b19e653107713582762f3116fa8992a7eb73
parent3369406e44b0226295e7475e189da2e42efd7f22
freedreno/ir3: post-RA sched pass

After RA, we can schedule to increase parallelism (reduce nop's) without
worrying about increasing register pressure.  This pass lets us cut down
the instruction count ~10%, and prioritize bary.f, kill, etc, which
would tend to increase register pressure if we tried to do that before
RA.

It should be more useful if RA round-robin'd register choices.

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