i965/vs: Fix access beyond array bounds for non-GRF operands.

Caught by valgrind.  I never saw a segfault from it (probably because
it's hard to have much more of any other file than GRF).
This commit is contained in:
Eric Anholt 2011-09-23 13:52:47 -07:00
parent 8004a1cb95
commit 39790b6450

View file

@ -241,9 +241,6 @@ vec4_visitor::opt_copy_propagation()
* optimizing out access to the copy result
*/
for (int i = 2; i >= 0; i--) {
int reg = (virtual_grf_reg_map[inst->src[i].reg] +
inst->src[i].reg_offset);
/* Copied values end up in GRFs, and we don't track reladdr
* accesses.
*/
@ -251,6 +248,9 @@ vec4_visitor::opt_copy_propagation()
inst->src[i].reladdr)
continue;
int reg = (virtual_grf_reg_map[inst->src[i].reg] +
inst->src[i].reg_offset);
/* Find the regs that each swizzle component came from.
*/
src_reg *values[4];