diff options
author | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2010-09-02 18:28:39 +0200 |
---|---|---|
committer | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2010-09-02 18:28:39 +0200 |
commit | 9f9ae4eee1939dd15853b8cd1a4fad2c7197aa9a (patch) | |
tree | b54272023860a106c4b1e3c3e51e74a582f2a036 /src/gallium | |
parent | a79da61a4b5dd94fdacc0e7196510e8d27c8a157 (diff) |
nv50: fix find_dom_frontier
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/nv50/nv50_pc.c | 9 |
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 28e32eadb7..c2f2ab3ef3 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; } |