summaryrefslogtreecommitdiffstats
path: root/src/compiler/Makefile.sources
diff options
context:
space:
mode:
authorThomas Helland <[email protected]>2016-08-29 10:02:34 +1000
committerTimothy Arceri <[email protected]>2016-12-23 10:15:36 +1100
commitec8423a4b174450575152dfb3f9c80ba1b8729af (patch)
treed8e76359e3bc60aeb5ba8132855f53a012aeb432 /src/compiler/Makefile.sources
parent6772a17acc8ee90f9398348251a4455f988208fd (diff)
nir: Add a LCSAA-pass
V2: Do a "depth first search" to convert to LCSSA V3: Small comment fixup V4: Rebase, adapt to removal of function overloads V5: Rebase, adapt to relocation of nir to compiler/nir Still need to adapt to potential if-uses Work around nir_validate issue V6 (Timothy): - tidy lcssa and stop leaking memory - dont rewrite the src for the lcssa phi node - validate lcssa phi srcs to avoid postvalidate assert - don't add new phi if one already exists - more lcssa phi validation fixes - Rather than marking ssa defs inside a loop just mark blocks inside a loop. This is simpler and fixes lcssa for intrinsics which do not have a destination. - don't create LCSSA phis for loops we won't unroll - require loop metadata for lcssa pass - handle case were the ssa defs use outside the loop is already a phi V7: (Timothy) - pass indirect mask to metadata call v8: (Timothy) - make convert to lcssa a helper function rather than a nir pass - replace inside loop bitset with on the fly block index logic. - remove lcssa phi validation special cases - inline code from useless helpers, suggested by Jason. - always do lcssa on loops, suggested by Jason. - stop making lcssa phis special. Add as many source as the block has predecessors, suggested by Jason. V9: (Timothy) - fix regression with the is_lcssa_phi field not being initialised to false now that ralloc() doesn't zero out memory. V10: (Timothy) - remove extra braces in SSA example, pointed out by Topi V11: (Timothy) - add missing support for LCSSA phis in if conditions. V12: (Timothy) - small tidy up suggested by Jason. - always create lcssa phi even if it just points to an lcssa phi from an inner loop Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/compiler/Makefile.sources')
-rw-r--r--src/compiler/Makefile.sources1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/compiler/Makefile.sources b/src/compiler/Makefile.sources
index edc70f7c4c2..f551449ed1c 100644
--- a/src/compiler/Makefile.sources
+++ b/src/compiler/Makefile.sources
@@ -256,6 +256,7 @@ NIR_FILES = \
nir/nir_split_var_copies.c \
nir/nir_sweep.c \
nir/nir_to_ssa.c \
+ nir/nir_to_lcssa.c \
nir/nir_validate.c \
nir/nir_vla.h \
nir/nir_worklist.c \