nir/lower_goto_if: Document some data structures
authorJason Ekstrand <jason@jlekstrand.net>
Thu, 13 Aug 2020 15:06:50 +0000 (10:06 -0500)
committerMarge Bot <eric+marge@anholt.net>
Fri, 14 Aug 2020 20:35:37 +0000 (20:35 +0000)
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2401>

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;
 };