summaryrefslogtreecommitdiffstats
path: root/src/panfrost
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-08-09 10:40:23 -0700
committerAlyssa Rosenzweig <[email protected]>2019-08-12 12:43:03 -0700
commit41e68094f82ab6f05a8084d0de753f1c95eda26d (patch)
treed90371fbc4ecfe80a411b5626653429743f172a9 /src/panfrost
parent14b5b9ac38518ff56f6b11feefbc60b049a5c4fe (diff)
pan/midgard: Allocate separate spill indices for lowered moves
This helps RA be slightly more reasonable. Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/panfrost')
-rw-r--r--src/panfrost/midgard/midgard_ra.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/panfrost/midgard/midgard_ra.c b/src/panfrost/midgard/midgard_ra.c
index a44d342c205..4754971acb2 100644
--- a/src/panfrost/midgard/midgard_ra.c
+++ b/src/panfrost/midgard/midgard_ra.c
@@ -497,16 +497,14 @@ mir_lower_special_reads(compiler_context *ctx)
midgard_instruction *use = mir_next_op(pre_use);
assert(use);
mir_insert_instruction_before(use, m);
+ mir_rewrite_index_dst_tag(ctx, i, idx, classes[j]);
} else {
+ idx = spill_idx++;
+ m = v_mov(i, blank_alu_src, idx);
mir_insert_instruction_before(pre_use, m);
+ mir_rewrite_index_src_single(pre_use, i, idx);
}
}
-
- /* Rewrite to use */
- if (hazard_write)
- mir_rewrite_index_dst_tag(ctx, i, idx, classes[j]);
- else
- mir_rewrite_index_src_tag(ctx, i, idx, classes[j]);
}
}