Opt: Have "size" passes process full entry point call tree.
authorGregF <greg@LunarG.com>
Thu, 10 Aug 2017 22:42:16 +0000 (16:42 -0600)
committerDavid Neto <dneto@google.com>
Fri, 18 Aug 2017 14:16:01 +0000 (10:16 -0400)
commitc8c86a0d368bebaf924870d8fb49ea29798c96a6
tree53dcb9063d34f8ed0311869eb84f25ad198073b7
parent768d9b42d38c7562bd42dbc29b22c61046848ee8
Opt: Have "size" passes process full entry point call tree.

Includes code to deal correctly with OpFunctionParameter. This
is needed by opaque propagation which may not exhaustively inline
entry point functions.

Adds ProcessEntryPointCallTree: a method to do work on the
functions in the entry point call trees in a deterministic order.
26 files changed:
source/opt/CMakeLists.txt
source/opt/aggressive_dead_code_elim_pass.cpp
source/opt/aggressive_dead_code_elim_pass.h
source/opt/block_merge_pass.cpp
source/opt/block_merge_pass.h
source/opt/common_uniform_elim_pass.cpp
source/opt/common_uniform_elim_pass.h
source/opt/dead_branch_elim_pass.cpp
source/opt/dead_branch_elim_pass.h
source/opt/inline_exhaustive_pass.cpp
source/opt/insert_extract_elim.cpp
source/opt/insert_extract_elim.h
source/opt/local_access_chain_convert_pass.cpp
source/opt/local_access_chain_convert_pass.h
source/opt/local_single_block_elim_pass.cpp
source/opt/local_single_block_elim_pass.h
source/opt/local_single_store_elim_pass.cpp
source/opt/local_single_store_elim_pass.h
source/opt/local_ssa_elim_pass.cpp
source/opt/local_ssa_elim_pass.h
source/opt/mem_pass.cpp
source/opt/mem_pass.h
source/opt/pass.cpp [new file with mode: 0644]
source/opt/pass.h
test/opt/aggressive_dead_code_elim_test.cpp
test/opt/local_single_block_elim.cpp