freedreno/ir3: fix kill scheduling
authorRob Clark <robdclark@chromium.org>
Thu, 23 Jan 2020 18:26:27 +0000 (10:26 -0800)
committerMarge Bot <eric+marge@anholt.net>
Sat, 1 Feb 2020 02:40:22 +0000 (02:40 +0000)
commit3369406e44b0226295e7475e189da2e42efd7f22
treee8237db77e19243b28a910de9aadb36f76cecd77
parent9a9f78f1f9f0019687eb374aae5abcd3b0617cf4
freedreno/ir3: fix kill scheduling

kill (and other cat0/flow instructions) do not have a dst register.
Which was mostly harmless before, other than RA thinking it would need
a free register to write.  (But nothing consumed it, so the value would
be immediately dead.)  But this would cause more problems with postsched
which would see a bogus dependency.

Also, post-RA sched *does* need to see the dependency on the predicate
register.

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