From: Kenneth Graunke Date: Sat, 22 Feb 2014 03:31:44 +0000 (-0800) Subject: ra: Create a reg_belongs_to_class() helper function. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8d856c3937c790da626ef754622df91d562d8507;p=mesa.git ra: Create a reg_belongs_to_class() helper function. This is a little easier to read. Signed-off-by: Kenneth Graunke Reviewed-by: Matt Turner Reviewed-by: Brian Paul Reviewed-by: Christoph Brill --- diff --git a/src/mesa/program/register_allocate.c b/src/mesa/program/register_allocate.c index edde7309c7f..c763b9602da 100644 --- a/src/mesa/program/register_allocate.c +++ b/src/mesa/program/register_allocate.c @@ -283,6 +283,15 @@ ra_class_add_reg(struct ra_regs *regs, unsigned int c, unsigned int r) class->p++; } +/** + * Returns true if the register belongs to the given class. + */ +static bool +reg_belongs_to_class(unsigned int r, struct ra_class *c) +{ + 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. @@ -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. */