i965/fs: Restrict inequality that can only hold equal in saturate propagation.

Should have no functional change.  The IP value of an instruction that
reads src_var cannot possibly be after the end of the live interval of
the variable it's reading from, by the definition of live interval.
Might save future readers a momentary WTF while trying to understand
this code.

Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Francisco Jerez 2016-03-06 19:03:56 -08:00
parent 7d7990cf65
commit b054605722

View file

@ -73,7 +73,7 @@ opt_saturate_propagation_local(fs_visitor *v, bblock_t *block)
if (scan_inst->saturate) {
inst->saturate = false;
progress = true;
} else if (src_end_ip <= ip || inst->dst.equals(inst->src[0])) {
} else if (src_end_ip == ip || inst->dst.equals(inst->src[0])) {
if (scan_inst->can_do_saturate()) {
if (scan_inst->dst.type != inst->dst.type) {
scan_inst->dst.type = inst->dst.type;