mesa: Extend register lifetimes to the end of the largest loop required.
authorEric Anholt <eric@anholt.net>
Thu, 8 Jul 2010 04:28:28 +0000 (21:28 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 8 Jul 2010 04:33:38 +0000 (21:33 -0700)
commit25cda5039df0da6c2c65f1cac1bfc750c0c16e82
tree4609b1052281cd5c8955ed28c3e3629d8fcfe465
parentf632a330eccb26c28a3b94216c55994e94988751
mesa: Extend register lifetimes to the end of the largest loop required.

Previously, a register defined at main scope and used in a loop in a
loop could end up getting marked as needed only from the definition
outside of the loops to the end of the inner loop, and we would
cleverly slot in something else in its register in the end of the
outer loop.

Fixes glsl-vs-loop-nested and glsl-fs-loop-nested on glsl2.  This
doesn't happen much on master because the original compiler does its
own register allocation, so we find little we can do with linear scan
register (re)allocation.
src/mesa/shader/prog_optimize.c