[Mesa-dev] [PATCH 2/3] ra: Create a reg_belongs_to_class() helper function.
Brian Paul
brianp at vmware.com
Mon Mar 17 14:00:53 PDT 2014
On 03/17/2014 02:32 PM, Kenneth Graunke wrote:
> This is a little easier to read.
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
> src/mesa/program/register_allocate.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/program/register_allocate.c b/src/mesa/program/register_allocate.c
> index edde730..c763b96 100644
> --- a/src/mesa/program/register_allocate.c
> +++ b/src/mesa/program/register_allocate.c
> @@ -284,6 +284,15 @@ ra_class_add_reg(struct ra_regs *regs, unsigned int c, unsigned int r)
> }
>
> /**
> + * Returns true if the register belongs to the given class.
> + */
> +static bool
> +reg_belongs_to_class(unsigned int r, struct ra_class *c)
pointer could be const.
Series look OK to me. Reviewed-by: Brian Paul <brianp at vmware.com>
> +{
> + return c->regs[r];
> +}
> +
> +/**
> * Must be called after all conflicts and register classes have been
> * set up and before the register set is used for allocation.
> * To avoid costly q value computation, use the q_values paramater
> @@ -319,7 +328,7 @@ ra_set_finalize(struct ra_regs *regs, unsigned int **q_values)
> int conflicts = 0;
> int i;
>
> - if (!regs->classes[c]->regs[rc])
> + if (!reg_belongs_to_class(rc, regs->classes[c]))
> continue;
>
> for (i = 0; i < regs->regs[rc].num_conflicts; i++) {
> @@ -479,7 +488,7 @@ ra_select(struct ra_graph *g)
> */
> for (ri = 0; ri < g->regs->count; ri++) {
> r = (start_search_reg + ri) % g->regs->count;
> - if (!c->regs[r])
> + if (!reg_belongs_to_class(r, c))
> continue;
>
> /* Check if any of our neighbors conflict with this register choice. */
>
More information about the mesa-dev
mailing list