From f8feb97ba5be50cd9bfe63a4d3b0ba35010a0d32 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Mon, 4 Apr 2016 17:36:41 -0400 Subject: [PATCH] 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 --- 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 f06b27e9dd2..ed3030d722a 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); -- 2.30.2