From: Francisco Jerez Date: Mon, 7 Mar 2016 03:03:56 +0000 (-0800) Subject: i965/fs: Restrict inequality that can only hold equal in saturate propagation. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b0546057220ac2906913bfd283aaefa6c4cb6038;p=mesa.git 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 --- diff --git a/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp b/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp index dc2b0c8aa8d..f59fdbddfa6 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp @@ -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;