From: Christoph Bumiller Date: Sat, 19 Feb 2011 13:18:28 +0000 (+0100) Subject: nvc0: don't visit target blocks of a loop break multiple times X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=88066d62ae7ec9c715e195f8ff65a0dc5b64c25e;p=mesa.git nvc0: don't visit target blocks of a loop break multiple times --- diff --git a/src/gallium/drivers/nvc0/nvc0_pc.c b/src/gallium/drivers/nvc0/nvc0_pc.c index e0cba05b976..3a3a00f27be 100644 --- a/src/gallium/drivers/nvc0/nvc0_pc.c +++ b/src/gallium/drivers/nvc0/nvc0_pc.c @@ -189,7 +189,10 @@ nvc0_pc_pass_in_order(struct nv_basic_block *root, nv_pc_pass_func f, bb[p++] = b->out[j]; break; case CFG_EDGE_LOOP_LEAVE: - bbb[pp++] = b->out[j]; + if (!b->out[j]->priv) { + bbb[pp++] = b->out[j]; + b->out[j]->priv = 1; + } break; default: assert(0);