target_sources(SPIRV-Tools-opt
  PRIVATE
    #/source/opt
    ${SPIRV-Tools-Dir}/Source/opt/aggressive_dead_code_elim_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/aggressive_dead_code_elim_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/amd_ext_to_khr.cpp
    ${SPIRV-Tools-Dir}/Source/opt/amd_ext_to_khr.h
    ${SPIRV-Tools-Dir}/Source/opt/basic_block.cpp
    ${SPIRV-Tools-Dir}/Source/opt/basic_block.h
    ${SPIRV-Tools-Dir}/Source/opt/block_merge_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/block_merge_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/block_merge_util.cpp
    ${SPIRV-Tools-Dir}/Source/opt/block_merge_util.h
    ${SPIRV-Tools-Dir}/Source/opt/build_module.cpp
    ${SPIRV-Tools-Dir}/Source/opt/build_module.h
    ${SPIRV-Tools-Dir}/Source/opt/ccp_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/ccp_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/cfg.cpp
    ${SPIRV-Tools-Dir}/Source/opt/cfg.h
    ${SPIRV-Tools-Dir}/Source/opt/cfg_cleanup_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/cfg_cleanup_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/code_sink.cpp
    ${SPIRV-Tools-Dir}/Source/opt/code_sink.h
    ${SPIRV-Tools-Dir}/Source/opt/combine_access_chains.cpp
    ${SPIRV-Tools-Dir}/Source/opt/combine_access_chains.h
    ${SPIRV-Tools-Dir}/Source/opt/compact_ids_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/compact_ids_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/composite.cpp
    ${SPIRV-Tools-Dir}/Source/opt/composite.h
    ${SPIRV-Tools-Dir}/Source/opt/constants.cpp
    ${SPIRV-Tools-Dir}/Source/opt/constants.h
    ${SPIRV-Tools-Dir}/Source/opt/const_folding_rules.cpp
    ${SPIRV-Tools-Dir}/Source/opt/const_folding_rules.h
    ${SPIRV-Tools-Dir}/Source/opt/convert_to_half_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/convert_to_half_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/copy_prop_arrays.cpp
    ${SPIRV-Tools-Dir}/Source/opt/copy_prop_arrays.h
    ${SPIRV-Tools-Dir}/Source/opt/dead_branch_elim_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/dead_branch_elim_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/dead_insert_elim_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/dead_insert_elim_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/dead_variable_elimination.cpp
    ${SPIRV-Tools-Dir}/Source/opt/dead_variable_elimination.h
    ${SPIRV-Tools-Dir}/Source/opt/debug_info_manager.cpp
    ${SPIRV-Tools-Dir}/Source/opt/debug_info_manager.h
    ${SPIRV-Tools-Dir}/Source/opt/decoration_manager.cpp
    ${SPIRV-Tools-Dir}/Source/opt/decoration_manager.h
    ${SPIRV-Tools-Dir}/Source/opt/def_use_manager.cpp
    ${SPIRV-Tools-Dir}/Source/opt/def_use_manager.h
    ${SPIRV-Tools-Dir}/Source/opt/desc_sroa.cpp
    ${SPIRV-Tools-Dir}/Source/opt/desc_sroa.h
    ${SPIRV-Tools-Dir}/Source/opt/dominator_analysis.cpp
    ${SPIRV-Tools-Dir}/Source/opt/dominator_analysis.h
    ${SPIRV-Tools-Dir}/Source/opt/dominator_tree.cpp
    ${SPIRV-Tools-Dir}/Source/opt/dominator_tree.h
    ${SPIRV-Tools-Dir}/Source/opt/eliminate_dead_constant_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/eliminate_dead_constant_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/eliminate_dead_functions_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/eliminate_dead_functions_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/eliminate_dead_functions_util.cpp
    ${SPIRV-Tools-Dir}/Source/opt/eliminate_dead_functions_util.h
    ${SPIRV-Tools-Dir}/Source/opt/eliminate_dead_members_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/eliminate_dead_members_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/empty_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/feature_manager.cpp
    ${SPIRV-Tools-Dir}/Source/opt/feature_manager.h
    ${SPIRV-Tools-Dir}/Source/opt/fix_storage_class.cpp
    ${SPIRV-Tools-Dir}/Source/opt/fix_storage_class.h
    ${SPIRV-Tools-Dir}/Source/opt/flatten_decoration_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/flatten_decoration_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/fold.cpp
    ${SPIRV-Tools-Dir}/Source/opt/fold.h
    ${SPIRV-Tools-Dir}/Source/opt/folding_rules.cpp
    ${SPIRV-Tools-Dir}/Source/opt/folding_rules.h
    ${SPIRV-Tools-Dir}/Source/opt/fold_spec_constant_op_and_composite_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/fold_spec_constant_op_and_composite_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/freeze_spec_constant_value_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/freeze_spec_constant_value_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/function.cpp
    ${SPIRV-Tools-Dir}/Source/opt/function.h
    ${SPIRV-Tools-Dir}/Source/opt/graphics_robust_access_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/graphics_robust_access_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/if_conversion.cpp
    ${SPIRV-Tools-Dir}/Source/opt/if_conversion.h
    ${SPIRV-Tools-Dir}/Source/opt/inline_exhaustive_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/inline_exhaustive_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/inline_opaque_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/inline_opaque_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/inline_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/inline_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/instruction.cpp
    ${SPIRV-Tools-Dir}/Source/opt/instruction.h
    ${SPIRV-Tools-Dir}/Source/opt/instruction_list.cpp
    ${SPIRV-Tools-Dir}/Source/opt/instruction_list.h
    ${SPIRV-Tools-Dir}/Source/opt/instrument_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/instrument_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/inst_bindless_check_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/inst_bindless_check_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/inst_buff_addr_check_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/inst_buff_addr_check_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/inst_debug_printf_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/inst_debug_printf_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/ir_builder.h
    ${SPIRV-Tools-Dir}/Source/opt/ir_context.cpp
    ${SPIRV-Tools-Dir}/Source/opt/ir_context.h
    ${SPIRV-Tools-Dir}/Source/opt/ir_loader.cpp
    ${SPIRV-Tools-Dir}/Source/opt/ir_loader.h
    ${SPIRV-Tools-Dir}/Source/opt/iterator.h
    ${SPIRV-Tools-Dir}/Source/opt/licm_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/licm_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/local_access_chain_convert_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/local_access_chain_convert_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/local_redundancy_elimination.cpp
    ${SPIRV-Tools-Dir}/Source/opt/local_redundancy_elimination.h
    ${SPIRV-Tools-Dir}/Source/opt/local_single_block_elim_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/local_single_block_elim_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/local_single_store_elim_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/local_single_store_elim_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/log.h
    ${SPIRV-Tools-Dir}/Source/opt/loop_dependence.cpp
    ${SPIRV-Tools-Dir}/Source/opt/loop_dependence.h
    ${SPIRV-Tools-Dir}/Source/opt/loop_dependence_helpers.cpp
    ${SPIRV-Tools-Dir}/Source/opt/loop_descriptor.cpp
    ${SPIRV-Tools-Dir}/Source/opt/loop_descriptor.h
    ${SPIRV-Tools-Dir}/Source/opt/loop_fission.cpp
    ${SPIRV-Tools-Dir}/Source/opt/loop_fission.h
    ${SPIRV-Tools-Dir}/Source/opt/loop_fusion.cpp
    ${SPIRV-Tools-Dir}/Source/opt/loop_fusion.h
    ${SPIRV-Tools-Dir}/Source/opt/loop_fusion_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/loop_fusion_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/loop_peeling.cpp
    ${SPIRV-Tools-Dir}/Source/opt/loop_peeling.h
    ${SPIRV-Tools-Dir}/Source/opt/loop_unroller.cpp
    ${SPIRV-Tools-Dir}/Source/opt/loop_unroller.h
    ${SPIRV-Tools-Dir}/Source/opt/loop_unswitch_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/loop_unswitch_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/loop_utils.cpp
    ${SPIRV-Tools-Dir}/Source/opt/loop_utils.h
    ${SPIRV-Tools-Dir}/Source/opt/mem_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/mem_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/merge_return_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/merge_return_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/module.cpp
    ${SPIRV-Tools-Dir}/Source/opt/module.h
    ${SPIRV-Tools-Dir}/Source/opt/null_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/optimizer.cpp
    ${SPIRV-Tools-Dir}/Source/opt/pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/pass.h
    ${SPIRV-Tools-Dir}/Source/opt/passes.h
    ${SPIRV-Tools-Dir}/Source/opt/pass_manager.cpp
    ${SPIRV-Tools-Dir}/Source/opt/pass_manager.h
    ${SPIRV-Tools-Dir}/Source/opt/pch_source_opt.cpp
    ${SPIRV-Tools-Dir}/Source/opt/pch_source_opt.h
    ${SPIRV-Tools-Dir}/Source/opt/private_to_local_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/private_to_local_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/propagator.cpp
    ${SPIRV-Tools-Dir}/Source/opt/propagator.h
    ${SPIRV-Tools-Dir}/Source/opt/reduce_load_size.cpp
    ${SPIRV-Tools-Dir}/Source/opt/reduce_load_size.h
    ${SPIRV-Tools-Dir}/Source/opt/redundancy_elimination.cpp
    ${SPIRV-Tools-Dir}/Source/opt/redundancy_elimination.h
    ${SPIRV-Tools-Dir}/Source/opt/reflect.h
    ${SPIRV-Tools-Dir}/Source/opt/register_pressure.cpp
    ${SPIRV-Tools-Dir}/Source/opt/register_pressure.h
    ${SPIRV-Tools-Dir}/Source/opt/relax_float_ops_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/relax_float_ops_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/remove_duplicates_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/remove_duplicates_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/replace_invalid_opc.cpp
    ${SPIRV-Tools-Dir}/Source/opt/replace_invalid_opc.h
    ${SPIRV-Tools-Dir}/Source/opt/scalar_analysis.cpp
    ${SPIRV-Tools-Dir}/Source/opt/scalar_analysis.h
    ${SPIRV-Tools-Dir}/Source/opt/scalar_analysis_nodes.h
    ${SPIRV-Tools-Dir}/Source/opt/scalar_analysis_simplification.cpp
    ${SPIRV-Tools-Dir}/Source/opt/scalar_replacement_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/scalar_replacement_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/set_spec_constant_default_value_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/set_spec_constant_default_value_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/simplification_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/simplification_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/ssa_rewrite_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/ssa_rewrite_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/strength_reduction_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/strength_reduction_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/strip_debug_info_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/strip_debug_info_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/strip_reflect_info_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/strip_reflect_info_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/struct_cfg_analysis.cpp
    ${SPIRV-Tools-Dir}/Source/opt/struct_cfg_analysis.h
    ${SPIRV-Tools-Dir}/Source/opt/tree_iterator.h
    ${SPIRV-Tools-Dir}/Source/opt/types.cpp
    ${SPIRV-Tools-Dir}/Source/opt/types.h
    ${SPIRV-Tools-Dir}/Source/opt/type_manager.cpp
    ${SPIRV-Tools-Dir}/Source/opt/type_manager.h
    ${SPIRV-Tools-Dir}/Source/opt/unify_const_pass.cpp
    ${SPIRV-Tools-Dir}/Source/opt/unify_const_pass.h
    ${SPIRV-Tools-Dir}/Source/opt/upgrade_memory_model.cpp
    ${SPIRV-Tools-Dir}/Source/opt/upgrade_memory_model.h
    ${SPIRV-Tools-Dir}/Source/opt/value_number_table.cpp
    ${SPIRV-Tools-Dir}/Source/opt/value_number_table.h
    ${SPIRV-Tools-Dir}/Source/opt/vector_dce.cpp
    ${SPIRV-Tools-Dir}/Source/opt/vector_dce.h
    ${SPIRV-Tools-Dir}/Source/opt/workaround1209.cpp
    ${SPIRV-Tools-Dir}/Source/opt/workaround1209.h
    ${SPIRV-Tools-Dir}/Source/opt/wrap_opkill.cpp
    ${SPIRV-Tools-Dir}/Source/opt/wrap_opkill.h
)
