From: Christoph Bumiller Date: Thu, 2 Sep 2010 16:28:39 +0000 (+0200) Subject: nv50: fix find_dom_frontier X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9f9ae4eee1939dd15853b8cd1a4fad2c7197aa9a;p=mesa.git nv50: fix find_dom_frontier --- 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; }