[Mesa-dev] [PATCH 1/5] i965/fs: Add a note explaining a detail of register_coalesce_2().
Kenneth Graunke
kenneth at whitecape.org
Fri Dec 14 16:00:19 PST 2012
On 12/11/2012 01:42 PM, Eric Anholt wrote:
> ---
> src/mesa/drivers/dri/i965/brw_fs.cpp | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index f428a83..c520364 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -1846,7 +1846,28 @@ fs_visitor::register_coalesce_2()
> }
>
> inst->remove();
> +
> + /* We don't need to recalculate live intervals inside the loop despite
> + * flagging live_intervals_valid because we only use live intervals for
> + * the interferes test, and we must have had a situation where the
> + * intervals were:
> + *
> + * from to
> + * ^
> + * |
> + * v
> + * ^
> + * |
> + * v
> + *
> + * Some register R that might get coalesced with one of these two could
> + * only be referencing "to", otherwise "from"'s range would have been
> + * longer. R's range could also only start at the end of "to" or later,
> + * otherwise it will conflict with "to" when we try to coalesce "to"
> + * into Rw anyway.
> + */
> live_intervals_valid = false;
> +
> progress = true;
> continue;
> }
>
This series is:
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
More information about the mesa-dev
mailing list