From: Matt Turner Date: Mon, 8 Sep 2014 19:05:25 +0000 (-0700) Subject: i965/fs: Walk instructions in reverse in saturate propagation. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=82bdb559a160129774d2e2f235cb2b18c907d713;p=mesa.git i965/fs: Walk instructions in reverse in saturate propagation. When we find a mov.sat, we search backwards. We might as well search everything else backwards as well and potentially look at fewer instructions. This change enables the next patch. Reviewed-by: Jason Ekstrand --- 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 4c4b6bf47a8..6f8f8d05c0c 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp @@ -32,10 +32,10 @@ static bool opt_saturate_propagation_local(fs_visitor *v, bblock_t *block) { bool progress = false; - int ip = block->start_ip - 1; + int ip = block->end_ip + 1; - foreach_inst_in_block(fs_inst, inst, block) { - ip++; + foreach_inst_in_block_reverse(fs_inst, inst, block) { + ip--; if (inst->opcode != BRW_OPCODE_MOV || inst->dst.file != GRF ||