nir/lower_goto_if: Document some data structures
[mesa.git] / src / compiler / nir / nir_lower_goto_ifs.c
index 956371f5a1ebd583e25f30bd42d6edbf9cd59069..e0f4b100d57cd45c2feb4404d8ea2658d2964be1 100644 (file)
 #include "nir_builder.h"
 
 struct path {
+   /** Set of blocks which this path represents
+    *
+    * It's "reachable" not in the sense that these are all the nodes reachable
+    * through this path but in the sense that, when you see one of these
+    * blocks, you know you've reached this path.
+    */
    struct set *reachable;
+
+   /** Fork in the path, if reachable->entries > 1 */
    struct path_fork *fork;
 };
 
@@ -47,11 +55,23 @@ struct routes {
 
 struct strct_lvl {
    struct exec_node node;
+
+   /** Set of blocks at the current level */
    struct set *blocks;
+
+   /** Path for the next level */
    struct path out_path;
+
+   /** Reach set from inside_outside if irreducable */
    struct set *reach;
+
+   /** True if a skip region starts with this level */
    bool skip_start;
+
+   /** True if a skip region ends with this level */
    bool skip_end;
+
+   /** True if this level is irreducable */
    bool irreducible;
 };