From 604022abed537d8066ddece5d8a4bbf08e93a2d5 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 18 Jan 2011 00:33:35 -0800 Subject: 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). --- src/mesa/program/register_allocate.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/mesa/program') diff --git a/src/mesa/program/register_allocate.c b/src/mesa/program/register_allocate.c index 5de929e29a..e96909af5e 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) -- cgit v1.2.3