freedreno/ir3: sched fixes for addr register usage
authorRob Clark <robclark@freedesktop.org>
Thu, 2 Jul 2015 18:59:08 +0000 (14:59 -0400)
committerRob Clark <robclark@freedesktop.org>
Fri, 3 Jul 2015 12:56:09 +0000 (08:56 -0400)
commit2215ff2a5d5f1df5791399e1ff78b56bf06e9102
treee1687a90f3c3a00899efc9ab77fdfe909e714376
parent6b9f5cd5f7b25e9e03104fe279df74817f69fe87
freedreno/ir3: sched fixes for addr register usage

A handful of fixes and cleanups:

1) If we split addr/pred, we need the newly created instruction to
   end up in the unscheduled_list
2) Avoid scheduling a write to the address register if there is no
   instruction using the address register that is otherwise ready
   to schedule.  Note that I currently don't bother with the same
   logic for predicate register, since the only instructions using
   predicate (br/kill) don't take any other src registers, so this
   situation should not arise.
3) few other cosmetic cleanups

Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/drivers/freedreno/ir3/ir3_sched.c