summaryrefslogtreecommitdiff
path: root/Android.mk
diff options
context:
space:
mode:
authorAlan Baker <alanbaker@google.com>2017-11-30 17:03:06 -0500
committerSteven Perron <stevenperron@google.com>2017-12-11 10:51:13 -0500
commit867451f49e800ce3d36154c09bb6941c9030683a (patch)
treedce6560ff01ec8b25445296593dcd30e4ecdf66e /Android.mk
parent78c025abe9cb7452568b0a1710b7c31fc345433e (diff)
Add scalar replacement
Adds a scalar replacement pass. The pass considers all function scope variables of composite type. If there are accesses to individual elements (and it is legal) the pass replaces the variable with a variable for each composite element and updates all the uses. Added the pass to -O Added NumUses and NumUsers to DefUseManager Added some helper methods for the inst to block mapping in context Added some helper methods for specific constant types No longer generate duplicate pointer types. * Now searches for an existing pointer of the appropriate type instead of failing validation * Fixed spec constant extracts * Addressed changes for review * Changed RunSinglePassAndMatch to be able to run validation * current users do not enable it Added handling of acceptable decorations. * Decorations are also transfered where appropriate Refactored extension checking into FeatureManager * Context now owns a feature manager * consciously NOT an analysis * added some test * fixed some minor issues related to decorates * added some decorate related tests for scalar replacement
Diffstat (limited to 'Android.mk')
-rw-r--r--Android.mk2
1 files changed, 2 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk
index 527bce18..0554e90c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -66,6 +66,7 @@ SPVTOOLS_OPT_SRC_FILES := \
source/opt/dominator_tree.cpp \
source/opt/eliminate_dead_constant_pass.cpp \
source/opt/eliminate_dead_functions_pass.cpp \
+ source/opt/feature_manager.cpp \
source/opt/flatten_decoration_pass.cpp \
source/opt/fold.cpp \
source/opt/fold_spec_constant_op_and_composite_pass.cpp \
@@ -93,6 +94,7 @@ SPVTOOLS_OPT_SRC_FILES := \
source/opt/propagator.cpp \
source/opt/redundancy_elimination.cpp \
source/opt/remove_duplicates_pass.cpp \
+ source/opt/scalar_replacement_pass.cpp \
source/opt/set_spec_constant_default_value_pass.cpp \
source/opt/strength_reduction_pass.cpp \
source/opt/strip_debug_info_pass.cpp \