diff options
author | Steven Perron <stevenperron@google.com> | 2018-02-02 11:55:05 -0500 |
---|---|---|
committer | Steven Perron <stevenperron@google.com> | 2018-02-07 23:01:47 -0500 |
commit | 06cdb96984a347af5a670dc6b8bfc6533526eb11 (patch) | |
tree | 5fe04483e0580bde051b89ea3cb8f489120a1693 /Android.mk | |
parent | a61e4c13562ae65663eaa5d3b7539b80d9822084 (diff) |
Make use of the instruction folder.
Implementation of the simplification pass.
- Create pass that calls the instruction folder on each instruction and
propagate instructions that fold to a copy. This will do copy
propagation as well.
- Did not use the propagator engine because I want to modify the instruction
as we go along.
- Change folding to not allocate new instructions, but make changes in
place. This change had a big impact on compile time.
- Add simplification pass to the legalization passes in place of
insert-extract elimination.
- Added test cases for new folding rules.
- Added tests for the simplification pass
- Added a method to the CFG to apply a function to the basic blocks in
reverse post order.
Contributes to #1164.
Diffstat (limited to 'Android.mk')
-rw-r--r-- | Android.mk | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -111,6 +111,7 @@ SPVTOOLS_OPT_SRC_FILES := \ source/opt/replace_invalid_opc.cpp \ source/opt/scalar_replacement_pass.cpp \ source/opt/set_spec_constant_default_value_pass.cpp \ + source/opt/simplification_pass.cpp \ source/opt/strength_reduction_pass.cpp \ source/opt/strip_debug_info_pass.cpp \ source/opt/type_manager.cpp \ |