Mesa (main): nir/cf: fix insertion of loops/ifs after jumps

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Nov 29 22:58:14 UTC 2021


Module: Mesa
Branch: main
Commit: cc5dd15417fad13b2e673d730294b66eadf3a173
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc5dd15417fad13b2e673d730294b66eadf3a173

Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Tue Apr 20 09:57:04 2021 +0100

nir/cf: fix insertion of loops/ifs after jumps

Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10284>

---

 src/compiler/nir/nir_control_flow.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/compiler/nir/nir_control_flow.c b/src/compiler/nir/nir_control_flow.c
index dd5e7982a20..2affb05c86e 100644
--- a/src/compiler/nir/nir_control_flow.c
+++ b/src/compiler/nir/nir_control_flow.c
@@ -413,7 +413,8 @@ insert_non_block(nir_block *before, nir_cf_node *node, nir_block *after)
 {
    node->parent = before->cf_node.parent;
    exec_node_insert_after(&before->cf_node.node, &node->node);
-   link_block_to_non_block(before, node);
+   if (!nir_block_ends_in_jump(before))
+      link_block_to_non_block(before, node);
    link_non_block_to_block(node, after);
 }
 



More information about the mesa-commit mailing list