ra: cleanup the public API
authorConnor Abbott <cwabbott0@gmail.com>
Fri, 1 Aug 2014 01:57:20 +0000 (18:57 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 13 Aug 2014 18:43:05 +0000 (11:43 -0700)
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 <connor.abbott@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/gallium/drivers/r300/compiler/radeon_pair_regalloc.c
src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp
src/mesa/drivers/dri/i965/brw_vec4_reg_allocate.cpp
src/mesa/program/register_allocate.c
src/mesa/program/register_allocate.h

index 7b02e53a482b99bfca48b8f2827ebd9f227c79e3..936c88db92c0e4308fa312d0be76413956f37bd5 100644 (file)
@@ -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;
        }
index d62627153c275d4692c0e4ba07fa2c762f5b4cd1..fb77b925b1a9894c53c158a5145050b9e35e6057 100644 (file)
@@ -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.
        */
index 1caf5ab22f610406c0d5f861234f1145c6af3b16..ddab342ddc75f1a46a8a4a45a360fb311162655b 100644 (file)
@@ -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.
        */
index 549154e8a934147ed38c6f691d1b570b0f5c0b6e..e0f04cf6269fb1a6c1bf75ddece89150a29ec78b 100644 (file)
@@ -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;
index 337dcf7099bf5d5037b47bdc46230b5d5937099b..bfc9190dcbe1ec797125161859aab9345cf5bff6 100644 (file)
@@ -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);