r300/compiler: Fix instruction scheduling within IF blocks
authorTom Stellard <tstellar@gmail.com>
Sun, 14 Nov 2010 01:12:58 +0000 (17:12 -0800)
committerTom Stellard <tstellar@gmail.com>
Mon, 22 Nov 2010 02:48:31 +0000 (18:48 -0800)
commit3e5f9789d653726d2602de67e996b73a813ebc2e
tree8aa292ba6599bdeb967000881099d4d5a9463574
parente2301b45c288cdbd4e763dfbc698d709045f2df5
r300/compiler: Fix instruction scheduling within IF blocks

Reads of registers that where not written to within the same block were
not being tracked.  So in a situations like this:
0: IF
1: ADD t0, t1, t2
2: MOV t2, t1

Instruction 2 didn't know that instruction 1 read from t2, so
in some cases instruction 2 was being scheduled before instruction 1.

NOTE: This is a candidate for the 7.9 branch.
src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c