SPIRV-Tools/source/opt
Diego Novillo 332a1f1422 Re-factor generic constant folding code out of FoldSpecConstantOpAndCompositePass
There are no functional changes in this patch.  The generic folding
routines in FoldSpecConstantOpAndCompositePass are now inside opt/fold.{cpp,h}.
This code will be used by the upcoming constant propagation pass.  In
time, we'll add more expression folding and simplification into these
two files.
2017-10-17 19:41:37 -04:00
..
aggressive_dead_code_elim_pass.cpp ADCE: Treat privates like locals in entry point with no calls 2017-10-13 15:39:14 -04:00
aggressive_dead_code_elim_pass.h ADCE: Treat privates like locals in entry point with no calls 2017-10-13 15:39:14 -04:00
basic_block.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
basic_block.h Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
block_merge_pass.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
block_merge_pass.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
build_module.cpp Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
build_module.h Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
CMakeLists.txt Re-factor generic constant folding code out of FoldSpecConstantOpAndCompositePass 2017-10-17 19:41:37 -04:00
common_uniform_elim_pass.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
common_uniform_elim_pass.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
compact_ids_pass.cpp Compact-ids pass should update the header ID bound 2017-10-03 11:24:28 -04:00
compact_ids_pass.h Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
constants.h Clean up header dependency. 2016-09-22 18:15:23 -04:00
dead_branch_elim_pass.cpp Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
dead_branch_elim_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
decoration_manager.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
decoration_manager.h Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
def_use_manager.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
def_use_manager.h Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
eliminate_dead_constant_pass.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
eliminate_dead_constant_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00
eliminate_dead_functions_pass.cpp Create the dead function elimination pass 2017-09-26 11:18:06 -04:00
eliminate_dead_functions_pass.h Create the dead function elimination pass 2017-09-26 11:18:06 -04:00
flatten_decoration_pass.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
flatten_decoration_pass.h Add FlattenDecoration transform 2017-04-06 11:19:56 -04:00
fold_spec_constant_op_and_composite_pass.cpp Re-factor generic constant folding code out of FoldSpecConstantOpAndCompositePass 2017-10-17 19:41:37 -04:00
fold_spec_constant_op_and_composite_pass.h Clean up header dependency. 2016-09-22 18:15:23 -04:00
fold.cpp Re-factor generic constant folding code out of FoldSpecConstantOpAndCompositePass 2017-10-17 19:41:37 -04:00
fold.h Re-factor generic constant folding code out of FoldSpecConstantOpAndCompositePass 2017-10-17 19:41:37 -04:00
freeze_spec_constant_value_pass.cpp Change interface of Pass::Process() to return possible failures. 2016-09-20 16:40:17 -04:00
freeze_spec_constant_value_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00
function.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
function.h Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
inline_exhaustive_pass.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
inline_exhaustive_pass.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
inline_opaque_pass.cpp Opt: Create InlineOpaquePass 2017-08-18 18:04:30 -04:00
inline_opaque_pass.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
inline_pass.cpp Inliner: Fix LoopMerge when inline into loop header of multi block loop 2017-09-05 19:46:24 -04:00
inline_pass.h Opt: Create InlineOpaquePass 2017-08-18 18:04:30 -04:00
insert_extract_elim.cpp ExtractInsert: Handle rudimentary CompositeConstruct and ConstantComposite 2017-09-15 20:33:53 -04:00
insert_extract_elim.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
instruction.cpp Clean up header dependency. 2016-09-22 18:15:23 -04:00
instruction.h DeadBranchElim: Add dead case elimination 2017-10-12 11:44:05 -04:00
ir_loader.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
ir_loader.h Clean up header dependency. 2016-09-22 18:15:23 -04:00
iterator.h Add exhaustive function call inlining to spirv-opt 2017-03-29 18:02:40 -04:00
local_access_chain_convert_pass.cpp Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_access_chain_convert_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_single_block_elim_pass.cpp Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_single_block_elim_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_single_store_elim_pass.cpp Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_single_store_elim_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_ssa_elim_pass.cpp Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_ssa_elim_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
log.h Avoid snprintf warning in GCC 7.1 2017-05-08 15:58:24 -04:00
make_unique.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
mem_pass.cpp Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
mem_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
module.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
module.h Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
null_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00
optimizer.cpp Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
pass_manager.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
pass_manager.h Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
pass.cpp Create the dead function elimination pass 2017-09-26 11:18:06 -04:00
pass.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
passes.h Create the dead function elimination pass 2017-09-26 11:18:06 -04:00
reflect.h Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
remove_duplicates_pass.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
remove_duplicates_pass.h Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
set_spec_constant_default_value_pass.cpp Add bit pattern interface for setting default value for spec constants 2017-04-21 11:22:47 -04:00
set_spec_constant_default_value_pass.h Add bit pattern interface for setting default value for spec constants 2017-04-21 11:22:47 -04:00
strength_reduction_pass.cpp Add strength reduction; for now replace multiply by power of 2 2017-09-18 17:01:36 -04:00
strength_reduction_pass.h Add strength reduction; for now replace multiply by power of 2 2017-09-18 17:01:36 -04:00
strip_debug_info_pass.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
strip_debug_info_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00
type_manager.cpp Fix typo in method name Struct::AddMemberName 2017-04-01 11:19:40 -04:00
type_manager.h Add begin() and end() for TypeManager. 2016-09-30 16:56:42 -04:00
types.cpp Fix typo in method name Struct::AddMemberName 2017-04-01 11:19:40 -04:00
types.h Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
unify_const_pass.cpp Change interface of Pass::Process() to return possible failures. 2016-09-20 16:40:17 -04:00
unify_const_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00