From 202b4df4aee790bb5b9486deb7c014ed440f27ff Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 13 Aug 2020 10:06:50 -0500 Subject: [PATCH] nir/lower_goto_if: Document some data structures Reviewed-by: Karol Herbst Part-of: --- src/compiler/nir/nir_lower_goto_ifs.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/compiler/nir/nir_lower_goto_ifs.c b/src/compiler/nir/nir_lower_goto_ifs.c index 956371f5a1e..e0f4b100d57 100644 --- a/src/compiler/nir/nir_lower_goto_ifs.c +++ b/src/compiler/nir/nir_lower_goto_ifs.c @@ -25,7 +25,15 @@ #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; }; -- 2.30.2