Mesa (master): freedreno/ir3: fix silly brain-fart in RA

Rob Clark robclark at kemper.freedesktop.org
Tue Apr 5 00:23:19 UTC 2016


Module: Mesa
Branch: master
Commit: f8feb97ba5be50cd9bfe63a4d3b0ba35010a0d32
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8feb97ba5be50cd9bfe63a4d3b0ba35010a0d32

Author: Rob Clark <robclark at freedesktop.org>
Date:   Mon Apr  4 17:36:41 2016 -0400

freedreno/ir3: fix silly brain-fart in RA

We want to consider all the vars, not 1/32nd of them, when extending
live-ranges.

Signed-off-by: Rob Clark <robclark at freedesktop.org>

---

 src/gallium/drivers/freedreno/ir3/ir3_ra.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/gallium/drivers/freedreno/ir3/ir3_ra.c b/src/gallium/drivers/freedreno/ir3/ir3_ra.c
index f06b27e..ed3030d 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_ra.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_ra.c
@@ -863,11 +863,10 @@ ra_add_interference(struct ir3_ra_ctx *ctx)
 	}
 
 	/* extend start/end ranges based on livein/liveout info from cfg: */
-	unsigned bitset_words = BITSET_WORDS(ctx->alloc_count);
 	list_for_each_entry (struct ir3_block, block, &ir->block_list, node) {
 		struct ir3_ra_block_data *bd = block->data;
 
-		for (unsigned i = 0; i < bitset_words; i++) {
+		for (unsigned i = 0; i < ctx->alloc_count; i++) {
 			if (BITSET_TEST(bd->livein, i)) {
 				ctx->def[i] = MIN2(ctx->def[i], block->start_ip);
 				ctx->use[i] = MAX2(ctx->use[i], block->start_ip);




More information about the mesa-commit mailing list