summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2010-09-02 18:28:39 +0200
committerChristoph Bumiller <[email protected]>2010-09-02 18:28:39 +0200
commit9f9ae4eee1939dd15853b8cd1a4fad2c7197aa9a (patch)
treeb54272023860a106c4b1e3c3e51e74a582f2a036
parenta79da61a4b5dd94fdacc0e7196510e8d27c8a157 (diff)
nv50: fix find_dom_frontier
-rw-r--r--src/gallium/drivers/nv50/nv50_pc.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gallium/drivers/nv50/nv50_pc.c b/src/gallium/drivers/nv50/nv50_pc.c
index 28e32eadb7d..c2f2ab3ef30 100644
--- a/src/gallium/drivers/nv50/nv50_pc.c
+++ b/src/gallium/drivers/nv50/nv50_pc.c
@@ -631,6 +631,7 @@ nvbb_reachable_by(struct nv_basic_block *bf, struct nv_basic_block *bp,
static struct nv_basic_block *
nvbb_find_dom_frontier(struct nv_basic_block *b, struct nv_basic_block *df)
{
+ struct nv_basic_block *out;
int i;
if (!nvbb_dominated_by(df, b)) {
@@ -641,11 +642,11 @@ nvbb_find_dom_frontier(struct nv_basic_block *b, struct nv_basic_block *df)
return df;
}
}
- for (i = 0; i < 2 && b->out[i]; ++i) {
- if (b->out_kind[i] == CFG_EDGE_BACK)
+ for (i = 0; i < 2 && df->out[i]; ++i) {
+ if (df->out_kind[i] == CFG_EDGE_BACK)
continue;
- if ((df = nvbb_find_dom_frontier(b, b->out[i])))
- return df;
+ if ((out = nvbb_find_dom_frontier(b, df->out[i])))
+ return out;
}
return NULL;
}