ra: Create a reg_belongs_to_class() helper function.

This is a little easier to read.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Christoph Brill <egore911@gmail.com>
This commit is contained in:
Kenneth Graunke 2014-02-21 19:31:44 -08:00
parent 786a647245
commit 8d856c3937

View file

@ -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. */