From: Eric Anholt Date: Tue, 18 Jan 2011 08:33:35 +0000 (-0800) Subject: ra: Take advantage of the adjacency list in ra_select() too. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=604022abed537d8066ddece5d8a4bbf08e93a2d5;p=mesa.git ra: Take advantage of the adjacency list in ra_select() too. Reduces runtime of glsl-fs-convolution-1 another 13.9% +/- 0.6% (n=5). --- diff --git a/src/mesa/program/register_allocate.c b/src/mesa/program/register_allocate.c index 5de929e29ac..e96909af5e2 100644 --- a/src/mesa/program/register_allocate.c +++ b/src/mesa/program/register_allocate.c @@ -336,14 +336,15 @@ ra_select(struct ra_graph *g) continue; /* Check if any of our neighbors conflict with this register choice. */ - for (i = 0; i < g->count; i++) { - if (g->nodes[n].adjacency[i] && - !g->nodes[i].in_stack && - g->regs->regs[r].conflicts[g->nodes[i].reg]) { + for (i = 0; i < g->nodes[n].adjacency_count; i++) { + unsigned int n2 = g->nodes[n].adjacency_list[i]; + + if (!g->nodes[n2].in_stack && + g->regs->regs[r].conflicts[g->nodes[n2].reg]) { break; } } - if (i == g->count) + if (i == g->nodes[n].adjacency_count) break; } if (r == g->regs->count)