nir: Add a structurizer

v2 (Karol):
  renamed pathes to paths
  use more bool
  use _mesa_set_intersects
  deduplicated some code
  fixed some typos
v3 (Karol):
  don't enable structurizer as we do this in vtn now
v4 (Jason):
  A few clean-ups due to unstructured NIR changes
v5 (Jason):
  Misc whitespace and style cleanups

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Tested-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2401>
This commit is contained in:
Julian Winkler
2020-04-06 12:52:06 +02:00
committed by Marge Bot
parent 025bdbac3e
commit b273611bb1
5 changed files with 880 additions and 2 deletions

View File

@@ -96,15 +96,21 @@ nir_builder_is_inside_cf(nir_builder *build, nir_cf_node *cf_node)
}
static inline nir_if *
nir_push_if(nir_builder *build, nir_ssa_def *condition)
nir_push_if_src(nir_builder *build, nir_src condition)
{
nir_if *nif = nir_if_create(build->shader);
nif->condition = nir_src_for_ssa(condition);
nif->condition = condition;
nir_builder_cf_insert(build, &nif->cf_node);
build->cursor = nir_before_cf_list(&nif->then_list);
return nif;
}
static inline nir_if *
nir_push_if(nir_builder *build, nir_ssa_def *condition)
{
return nir_push_if_src(build, nir_src_for_ssa(condition));
}
static inline nir_if *
nir_push_else(nir_builder *build, nir_if *nif)
{