From e985ae25a6a19108e078260575f23c9cd0277632 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 6 Dec 2019 11:36:46 -0500 Subject: pan/midgard: Remove spill cost heuristic We do need some sort of a cost heuristic, but this one is just causing spilling to behave worse on shaders I'm looking at, and I don't need more noise in the spill implementation right now. Get it working first. We can optimize this later. Signed-off-by: Alyssa Rosenzweig --- src/panfrost/midgard/midgard_ra.c | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/src/panfrost/midgard/midgard_ra.c b/src/panfrost/midgard/midgard_ra.c index d73d745213e..2e00aefb385 100644 --- a/src/panfrost/midgard/midgard_ra.c +++ b/src/panfrost/midgard/midgard_ra.c @@ -685,25 +685,6 @@ mir_choose_spill_node( compiler_context *ctx, struct lcra_state *l) { - /* Our first step is to calculate spill cost to figure out the best - * spill node. All nodes are equal in spill cost, but we can't spill - * nodes written to from an unspill */ - - unsigned *cost = calloc(ctx->temp_count, sizeof(cost[0])); - - mir_foreach_instr_global(ctx, ins) { - if (ins->dest < ctx->temp_count) - cost[ins->dest]++; - - mir_foreach_src(ins, s) { - if (ins->src[s] < ctx->temp_count) - cost[ins->src[s]]++; - } - } - - for (unsigned i = 0; i < ctx->temp_count; ++i) - lcra_set_node_spill_cost(l, i, cost[i]); - /* We can't spill a previously spilled value or an unspill */ mir_foreach_instr_global(ctx, ins) { @@ -720,8 +701,6 @@ mir_choose_spill_node( } } - free(cost); - return lcra_get_best_spill_node(l); } -- cgit v1.2.3