panfrost: Move lcra to panfrost/util
[mesa.git] / src / panfrost / util / pan_ir.c
index 95f8e6b53269000e58b1771526342f05edcad3bc..fbe8f66bff410d67c3d80c6a75e6845af18ee30c 100644 (file)
@@ -70,3 +70,25 @@ pan_to_bytemask(unsigned bytes, unsigned mask)
                 unreachable("Invalid register mode");
         }
 }
+
+void
+pan_block_add_successor(pan_block *block, pan_block *successor)
+{
+        assert(block);
+        assert(successor);
+
+        for (unsigned i = 0; i < ARRAY_SIZE(block->successors); ++i) {
+                if (block->successors[i]) {
+                       if (block->successors[i] == successor)
+                               return;
+                       else
+                               continue;
+                }
+
+                block->successors[i] = successor;
+                _mesa_set_add(successor->predecessors, block);
+                return;
+        }
+
+        unreachable("Too many successors");
+}