[Mesa-dev] [PATCH 07/21] nir/cf: add remove_phi_src() helper

Connor Abbott cwabbott0 at gmail.com
Tue Jul 21 19:54:21 PDT 2015


Signed-off-by: Connor Abbott <connor.w.abbott at intel.com>
---
 src/glsl/nir/nir_control_flow.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/src/glsl/nir/nir_control_flow.c b/src/glsl/nir/nir_control_flow.c
index bb94652..bf25813 100644
--- a/src/glsl/nir/nir_control_flow.c
+++ b/src/glsl/nir/nir_control_flow.c
@@ -373,6 +373,23 @@ nir_handle_add_jump(nir_block *block)
    }
 }
 
+static void
+remove_phi_src(nir_block *block, nir_block *pred)
+{
+   nir_foreach_instr(block, instr) {
+      if (instr->type != nir_instr_type_phi)
+         break;
+
+      nir_phi_instr *phi = nir_instr_as_phi(instr);
+      nir_foreach_phi_src_safe(phi, src) {
+         if (src->pred == pred) {
+            list_del(&src->src.use_link);
+            exec_node_remove(&src->node);
+         }
+      }
+   }
+}
+
 void
 nir_handle_remove_jump(nir_block *block, nir_jump_type type)
 {
-- 
2.4.3



More information about the mesa-dev mailing list