summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2011-12-27 12:43:27 +0100
committerChristoph Bumiller <[email protected]>2012-04-14 21:54:03 +0200
commitf4dbdcbfcf7370deeb5dcccec2e8d1c471d66517 (patch)
treec24afb22d76628008181acadc2b93bfac6b107f5
parent2fc014f8c0d9339b1652f4e037aee5697142304a (diff)
nv50/ir/ra: Fix live set propagation in the secondary passes of buildLiveSets().
-rw-r--r--src/gallium/drivers/nv50/codegen/nv50_ir_ra.cpp6
1 files 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);