1# Copyright (c) 2016 Google Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15add_subdirectory(dominator_tree)
16add_subdirectory(loop_optimizations)
17
18add_spvtools_unittest(TARGET opt
19  SRCS aggressive_dead_code_elim_test.cpp
20       assembly_builder_test.cpp
21       block_merge_test.cpp
22       ccp_test.cpp
23       cfg_cleanup_test.cpp
24       code_sink_test.cpp
25       combine_access_chains_test.cpp
26       common_uniform_elim_test.cpp
27       compact_ids_test.cpp
28       constant_manager_test.cpp
29       copy_prop_array_test.cpp
30       dead_branch_elim_test.cpp
31       dead_insert_elim_test.cpp
32       dead_variable_elim_test.cpp
33       decoration_manager_test.cpp
34       def_use_test.cpp
35       eliminate_dead_const_test.cpp
36       eliminate_dead_functions_test.cpp
37       feature_manager_test.cpp
38       flatten_decoration_test.cpp
39       fold_spec_const_op_composite_test.cpp
40       fold_test.cpp
41       freeze_spec_const_test.cpp
42       function_test.cpp
43       if_conversion_test.cpp
44       inline_opaque_test.cpp
45       inline_test.cpp
46       insert_extract_elim_test.cpp
47       inst_bindless_check_test.cpp
48       instruction_list_test.cpp
49       instruction_test.cpp
50       ir_builder.cpp
51       ir_context_test.cpp
52       ir_loader_test.cpp
53       iterator_test.cpp
54       line_debug_info_test.cpp
55       local_access_chain_convert_test.cpp
56       local_redundancy_elimination_test.cpp
57       local_single_block_elim.cpp
58       local_single_store_elim_test.cpp
59       local_ssa_elim_test.cpp
60       module_test.cpp
61       module_utils.h
62       optimizer_test.cpp
63       pass_manager_test.cpp
64       pass_merge_return_test.cpp
65       pass_remove_duplicates_test.cpp
66       pass_utils.cpp
67       private_to_local_test.cpp
68       process_lines_test.cpp
69       propagator_test.cpp
70       reduce_load_size_test.cpp
71       redundancy_elimination_test.cpp
72       register_liveness.cpp
73       replace_invalid_opc_test.cpp
74       scalar_analysis.cpp
75       scalar_replacement_test.cpp
76       set_spec_const_default_value_test.cpp
77       simplification_test.cpp
78       strength_reduction_test.cpp
79       strip_debug_info_test.cpp
80       strip_reflect_info_test.cpp
81       struct_cfg_analysis_test.cpp
82       type_manager_test.cpp
83       types_test.cpp
84       unify_const_test.cpp
85       upgrade_memory_model_test.cpp
86       utils_test.cpp pass_utils.cpp
87       value_table_test.cpp
88       vector_dce_test.cpp
89       workaround1209_test.cpp
90  LIBS SPIRV-Tools-opt
91  PCH_FILE pch_test_opt
92)
93