i965/fs: Use overwrites_reg() instead of dst.equals().

equals() returns false for registers with different types, using it
isn't appropriate to determine whether an is overwriting a register.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Matt Turner 2015-08-18 17:10:44 -07:00
parent 8765f1d7dd
commit f3d0a894af

View file

@ -128,8 +128,8 @@ can_coalesce_vars(brw::fs_live_variables *live_intervals,
if (scan_ip > live_intervals->end[var_to])
return true;
if (scan_inst->dst.equals(inst->dst) ||
scan_inst->dst.equals(inst->src[0]))
if (scan_inst->overwrites_reg(inst->dst) ||
scan_inst->overwrites_reg(inst->src[0]))
return false;
}