Mesa (master): nvc0: don' t visit target blocks of a loop break multiple times

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Thu Feb 24 16:36:24 UTC 2011


Module: Mesa
Branch: master
Commit: 88066d62ae7ec9c715e195f8ff65a0dc5b64c25e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=88066d62ae7ec9c715e195f8ff65a0dc5b64c25e

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Feb 19 14:18:28 2011 +0100

nvc0: don't visit target blocks of a loop break multiple times

---

 src/gallium/drivers/nvc0/nvc0_pc.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/nvc0/nvc0_pc.c b/src/gallium/drivers/nvc0/nvc0_pc.c
index e0cba05..3a3a00f 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);




More information about the mesa-commit mailing list