diff options
author | Connor Abbott <[email protected]> | 2014-07-31 18:57:20 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2014-08-13 11:43:05 -0700 |
commit | 9a0b52e7c1c0d7668e1acd7bb806432bb449a9c7 (patch) | |
tree | 0700c2e5e02864cd055f4c91827106b21940e49d | |
parent | d72d67832bd7a5f2aa0c402333a7de6804ad35ef (diff) |
ra: cleanup the public API
Previously, there were 3 entrypoints into parts of the actual allocator,
and an API called ra_allocate_no_spills() that called all 3. Nobody
would ever want to call any of the 3 entrypoints by themselves, so
everybody just used ra_allocate_no_spills(). So just make them static
functions, and while we're at it rename ra_allocate_no_spills() to
ra_allocate() since there's no equivalent "with spills," because the
backend is supposed to handle spilling.
Signed-off-by: Connor Abbott <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r-- | src/gallium/drivers/r300/compiler/radeon_pair_regalloc.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp | 2 | ||||
-rw-r--r-- | src/mesa/program/register_allocate.c | 12 | ||||
-rw-r--r-- | src/mesa/program/register_allocate.h | 5 |
5 files changed, 10 insertions, 13 deletions
diff --git a/src/gallium/drivers/r300/compiler/radeon_pair_regalloc.c b/src/gallium/drivers/r300/compiler/radeon_pair_regalloc.c index 7b02e53a482..936c88db92c 100644 --- a/src/gallium/drivers/r300/compiler/radeon_pair_regalloc.c +++ b/src/gallium/drivers/r300/compiler/radeon_pair_regalloc.c @@ -617,7 +617,7 @@ static void do_advanced_regalloc(struct regalloc_state * s) input_node++; } - if (!ra_allocate_no_spills(graph)) { + if (!ra_allocate(graph)) { rc_error(s->C, "Ran out of hardware temporaries\n"); return; } diff --git a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp index d62627153c2..fb77b925b1a 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp @@ -486,7 +486,7 @@ fs_visitor::assign_regs(bool allow_spilling) } } - if (!ra_allocate_no_spills(g)) { + if (!ra_allocate(g)) { /* Failed to allocate registers. Spill a reg, and the caller will * loop back into here to try again. */ diff --git a/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp index 1caf5ab22f6..ddab342ddc7 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp @@ -207,7 +207,7 @@ vec4_visitor::reg_allocate() setup_payload_interference(g, first_payload_node, node_count); - if (!ra_allocate_no_spills(g)) { + if (!ra_allocate(g)) { /* Failed to allocate registers. Spill a reg, and the caller will * loop back into here to try again. */ diff --git a/src/mesa/program/register_allocate.c b/src/mesa/program/register_allocate.c index 549154e8a93..e0f04cf6269 100644 --- a/src/mesa/program/register_allocate.c +++ b/src/mesa/program/register_allocate.c @@ -440,7 +440,7 @@ pq_test(struct ra_graph *g, unsigned int n) * means that either spilling will be required, or optimistic coloring * should be applied. */ -bool +static bool ra_simplify(struct ra_graph *g) { bool progress = true; @@ -477,7 +477,7 @@ ra_simplify(struct ra_graph *g) * If all nodes were trivially colorable, then this must succeed. If * not (optimistic coloring), then it may return false; */ -bool +static bool ra_select(struct ra_graph *g) { int i; @@ -530,7 +530,7 @@ ra_select(struct ra_graph *g) * locally-colorable and the rest of the register allocation * will succeed. */ -void +static void ra_optimistic_color(struct ra_graph *g) { unsigned int i; @@ -547,7 +547,7 @@ ra_optimistic_color(struct ra_graph *g) } bool -ra_allocate_no_spills(struct ra_graph *g) +ra_allocate(struct ra_graph *g) { if (!ra_simplify(g)) { ra_optimistic_color(g); @@ -618,11 +618,11 @@ ra_get_best_spill_node(struct ra_graph *g) /* For any registers not in the stack to be colored, consider them for * spilling. This will mostly collect nodes that were being optimistally - * colored as part of ra_allocate_no_spills() if we didn't successfully + * colored as part of ra_allocate() if we didn't successfully * optimistically color. * * It also includes nodes not trivially colorable by ra_simplify() if it - * was used directly instead of as part of ra_allocate_no_spills(). + * was used directly instead of as part of ra_allocate(). */ for (n = 0; n < g->count; n++) { float cost = g->nodes[n].spill_cost; diff --git a/src/mesa/program/register_allocate.h b/src/mesa/program/register_allocate.h index 337dcf7099b..bfc9190dcbe 100644 --- a/src/mesa/program/register_allocate.h +++ b/src/mesa/program/register_allocate.h @@ -66,10 +66,7 @@ void ra_add_node_interference(struct ra_graph *g, /** @} */ /** @{ Graph-coloring register allocation */ -bool ra_simplify(struct ra_graph *g); -void ra_optimistic_color(struct ra_graph *g); -bool ra_select(struct ra_graph *g); -bool ra_allocate_no_spills(struct ra_graph *g); +bool ra_allocate(struct ra_graph *g); unsigned int ra_get_node_reg(struct ra_graph *g, unsigned int n); void ra_set_node_reg(struct ra_graph * g, unsigned int n, unsigned int reg); |