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       amd_ext_to_khr.cpp
21       assembly_builder_test.cpp
22       block_merge_test.cpp
23       ccp_test.cpp
24       cfg_cleanup_test.cpp
25       cfg_test.cpp
26       code_sink_test.cpp
27       combine_access_chains_test.cpp
28       compact_ids_test.cpp
29       constants_test.cpp
30       constant_manager_test.cpp
31       convert_relaxed_to_half_test.cpp
32       copy_prop_array_test.cpp
33       dead_branch_elim_test.cpp
34       dead_insert_elim_test.cpp
35       dead_variable_elim_test.cpp
36       debug_info_manager_test.cpp
37       decoration_manager_test.cpp
38       def_use_test.cpp
39       desc_sroa_test.cpp
40       eliminate_dead_const_test.cpp
41       eliminate_dead_functions_test.cpp
42       eliminate_dead_member_test.cpp
43       feature_manager_test.cpp
44       fix_storage_class_test.cpp
45       flatten_decoration_test.cpp
46       fold_spec_const_op_composite_test.cpp
47       fold_test.cpp
48       freeze_spec_const_test.cpp
49       function_test.cpp
50       graphics_robust_access_test.cpp
51       if_conversion_test.cpp
52       inline_opaque_test.cpp
53       inline_test.cpp
54       insert_extract_elim_test.cpp
55       inst_bindless_check_test.cpp
56       inst_buff_addr_check_test.cpp
57       inst_debug_printf_test.cpp
58       instruction_list_test.cpp
59       instruction_test.cpp
60       ir_builder.cpp
61       ir_context_test.cpp
62       ir_loader_test.cpp
63       iterator_test.cpp
64       line_debug_info_test.cpp
65       local_access_chain_convert_test.cpp
66       local_redundancy_elimination_test.cpp
67       local_single_block_elim.cpp
68       local_single_store_elim_test.cpp
69       local_ssa_elim_test.cpp
70       module_test.cpp
71       module_utils.h
72       optimizer_test.cpp
73       pass_manager_test.cpp
74       pass_merge_return_test.cpp
75       pass_remove_duplicates_test.cpp
76       pass_utils.cpp
77       private_to_local_test.cpp
78       propagator_test.cpp
79       reduce_load_size_test.cpp
80       redundancy_elimination_test.cpp
81       register_liveness.cpp
82       relax_float_ops_test.cpp
83       replace_invalid_opc_test.cpp
84       scalar_analysis.cpp
85       scalar_replacement_test.cpp
86       set_spec_const_default_value_test.cpp
87       simplification_test.cpp
88       strength_reduction_test.cpp
89       strip_debug_info_test.cpp
90       strip_reflect_info_test.cpp
91       struct_cfg_analysis_test.cpp
92       type_manager_test.cpp
93       types_test.cpp
94       unify_const_test.cpp
95       upgrade_memory_model_test.cpp
96       utils_test.cpp pass_utils.cpp
97       value_table_test.cpp
98       vector_dce_test.cpp
99       workaround1209_test.cpp
100       wrap_opkill_test.cpp
101  LIBS SPIRV-Tools-opt
102  PCH_FILE pch_test_opt
103)
104