freedreno/ir3: new pre-RA scheduler
authorRob Clark <robdclark@chromium.org>
Fri, 22 Nov 2019 19:14:25 +0000 (11:14 -0800)
committerMarge Bot <eric+marge@anholt.net>
Mon, 13 Apr 2020 20:47:28 +0000 (20:47 +0000)
commitd2f4d332dbb552af62fe5caabe67664d98f32229
tree3c67b39bdf5e02bcce1623d0bf12b1ba0f122449
parent0f22f85fe73f89b80851bb24936202c9bba97cc6
freedreno/ir3: new pre-RA scheduler

This replaces the depth-first search scheduler with a more traditional
ready-list scheduler.  It primarily tries to reduce register pressure
(number of live values), with the exception of trying to schedule kills
as early as possible.  (Earlier iterations of this scheduler had a
tendency to push kills later, and in particular moving texture fetches
which may not be necessary ahead of kills.)

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