From f4dbdcbfcf7370deeb5dcccec2e8d1c471d66517 Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Tue, 27 Dec 2011 12:43:27 +0100 Subject: [PATCH] nv50/ir/ra: Fix live set propagation in the secondary passes of buildLiveSets(). --- src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp b/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp index cd8f28955e4..5d2aa587a31 100644 --- a/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp +++ b/src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp @@ -466,10 +466,10 @@ RegAlloc::buildLiveSets(BasicBlock *bb) if (bn->cfg.visit(sequence)) if (!buildLiveSets(bn)) return false; - if (n++ == 0) - bb->liveSet = bn->liveSet; - else + if (n++ || bb->liveSet.marker) bb->liveSet |= bn->liveSet; + else + bb->liveSet = bn->liveSet; } if (!n && !bb->liveSet.marker) bb->liveSet.fill(0); -- 2.30.2