brintos

brintos / llvm-project-archived public Read only

0
0
Text · 24.4 KiB · 33fff76 Raw
902 lines · plain
1# core_files list contains the headers shared by all platforms.2# Please consider adding new platform specific headers3# to platform specific lists below.4set(core_files5  builtins.h6  float.h7  __float_float.h8  __float_header_macro.h9  __float_infinity_nan.h10  inttypes.h11  iso646.h12  limits.h13  module.modulemap14  stdalign.h15  stdarg.h16  __stdarg___gnuc_va_list.h17  __stdarg___va_copy.h18  __stdarg_header_macro.h19  __stdarg_va_arg.h20  __stdarg_va_copy.h21  __stdarg_va_list.h22  stdatomic.h23  stdbool.h24  stdcountof.h25  stdckdint.h26  stddef.h27  __stddef_header_macro.h28  __stddef_max_align_t.h29  __stddef_null.h30  __stddef_nullptr_t.h31  __stddef_offsetof.h32  __stddef_ptrdiff_t.h33  __stddef_rsize_t.h34  __stddef_size_t.h35  __stddef_unreachable.h36  __stddef_wchar_t.h37  __stddef_wint_t.h38  stdint.h39  stdnoreturn.h40  tgmath.h41  unwind.h42  varargs.h43  )44 45set(arm_common_files46  # Headers shared by Arm and AArch6447  arm_acle.h48  )49 50set(arm_only_files51  arm_cmse.h52  armintr.h53  )54 55set(aarch64_only_files56  arm64intr.h57  arm_neon_sve_bridge.h58  )59 60set(cuda_files61  __clang_cuda_builtin_vars.h62  __clang_cuda_math.h63  __clang_cuda_cmath.h64  __clang_cuda_complex_builtins.h65  __clang_cuda_device_functions.h66  __clang_cuda_intrinsics.h67  __clang_cuda_texture_intrinsics.h68  __clang_cuda_libdevice_declares.h69  __clang_cuda_math_forward_declares.h70  __clang_cuda_runtime_wrapper.h71  )72 73set(hexagon_files74  hexagon_circ_brev_intrinsics.h75  hexagon_protos.h76  hexagon_types.h77  hvx_hexagon_protos.h78  )79 80set(hip_files81  __clang_hip_libdevice_declares.h82  __clang_hip_cmath.h83  __clang_hip_math.h84  __clang_hip_stdlib.h85  __clang_hip_runtime_wrapper.h86  )87 88set(hlsl_h89  hlsl.h90  )91set(hlsl_subdir_files92  hlsl/hlsl_basic_types.h93  hlsl/hlsl_alias_intrinsics.h94  hlsl/hlsl_compat_overloads.h95  hlsl/hlsl_intrinsic_helpers.h96  hlsl/hlsl_intrinsics.h97  hlsl/hlsl_detail.h98  hlsl/hlsl_spirv.h99  )100set(hlsl_files101  ${hlsl_h}102  ${hlsl_subdir_files}103  )104 105set(loongarch_files106  larchintrin.h107  lasxintrin.h108  lsxintrin.h109  )110 111set(mips_msa_files112  msa.h113  )114 115set(opencl_files116  opencl-c.h117  opencl-c-base.h118  )119 120set(ppc_files121  altivec.h122  )123 124set(ppc_htm_files125  htmintrin.h126  htmxlintrin.h127  )128 129set(riscv_files130  riscv_bitmanip.h131  riscv_corev_alu.h132  riscv_crypto.h133  riscv_nds.h134  riscv_ntlh.h135  sifive_vector.h136  andes_vector.h137  riscv_mips.h138  )139 140set(spirv_files141  __clang_spirv_builtins.h142  )143 144set(systemz_files145  s390intrin.h146  vecintrin.h147  )148 149set(ve_files150  velintrin.h151  velintrin_gen.h152  velintrin_approx.h153  )154 155set(webassembly_files156  wasm_simd128.h157  )158 159set(x86_files160# Intrinsics161  adcintrin.h162  adxintrin.h163  ammintrin.h164  amxavx512intrin.h165  amxcomplexintrin.h166  amxfp16intrin.h167  amxfp8intrin.h168  amxintrin.h169  amxmovrsintrin.h170  amxtf32intrin.h171  avx10_2_512bf16intrin.h172  avx10_2_512convertintrin.h173  avx10_2_512minmaxintrin.h174  avx10_2_512niintrin.h175  avx10_2_512satcvtdsintrin.h176  avx10_2_512satcvtintrin.h177  avx10_2bf16intrin.h178  avx10_2convertintrin.h179  avx10_2copyintrin.h180  avx10_2minmaxintrin.h181  avx10_2niintrin.h182  avx10_2satcvtdsintrin.h183  avx10_2satcvtintrin.h184  avx2intrin.h185  avx512bf16intrin.h186  avx512bitalgintrin.h187  avx512bwintrin.h188  avx512cdintrin.h189  avx512dqintrin.h190  avx512fintrin.h191  avx512fp16intrin.h192  avx512ifmaintrin.h193  avx512ifmavlintrin.h194  avx512vbmi2intrin.h195  avx512vbmiintrin.h196  avx512vbmivlintrin.h197  avx512vlbf16intrin.h198  avx512vlbitalgintrin.h199  avx512vlbwintrin.h200  avx512vlcdintrin.h201  avx512vldqintrin.h202  avx512vlfp16intrin.h203  avx512vlintrin.h204  avx512vlvbmi2intrin.h205  avx512vlvnniintrin.h206  avx512vlvp2intersectintrin.h207  avx512vnniintrin.h208  avx512vp2intersectintrin.h209  avx512vpopcntdqintrin.h210  avx512vpopcntdqvlintrin.h211  avxifmaintrin.h212  avxintrin.h213  avxneconvertintrin.h214  avxvnniint16intrin.h215  avxvnniint8intrin.h216  avxvnniintrin.h217  bmi2intrin.h218  bmiintrin.h219  cetintrin.h220  cldemoteintrin.h221  clflushoptintrin.h222  clwbintrin.h223  clzerointrin.h224  cmpccxaddintrin.h225  crc32intrin.h226  emmintrin.h227  enqcmdintrin.h228  f16cintrin.h229  fma4intrin.h230  fmaintrin.h231  fxsrintrin.h232  gfniintrin.h233  hresetintrin.h234  ia32intrin.h235  immintrin.h236  invpcidintrin.h237  keylockerintrin.h238  lwpintrin.h239  lzcntintrin.h240  mm3dnow.h241  mmintrin.h242  movdirintrin.h243  movrs_avx10_2_512intrin.h244  movrs_avx10_2intrin.h245  movrsintrin.h246  mwaitxintrin.h247  nmmintrin.h248  pconfigintrin.h249  pkuintrin.h250  pmmintrin.h251  popcntintrin.h252  prfchiintrin.h253  prfchwintrin.h254  ptrauth.h255  ptwriteintrin.h256  raointintrin.h257  rdpruintrin.h258  rdseedintrin.h259  rtmintrin.h260  serializeintrin.h261  sgxintrin.h262  sha512intrin.h263  shaintrin.h264  sm3intrin.h265  sm4intrin.h266  sm4evexintrin.h267  smmintrin.h268  tbmintrin.h269  tmmintrin.h270  tsxldtrkintrin.h271  uintrintrin.h272  usermsrintrin.h273  vaesintrin.h274  vpclmulqdqintrin.h275  waitpkgintrin.h276  wbnoinvdintrin.h277  __wmmintrin_aes.h278  wmmintrin.h279  __wmmintrin_pclmul.h280  x86gprintrin.h281  x86intrin.h282  xmmintrin.h283  xopintrin.h284  xsavecintrin.h285  xsaveintrin.h286  xsaveoptintrin.h287  xsavesintrin.h288  xtestintrin.h289# others290  cet.h291  cpuid.h292  )293 294set(gpu_files295  gpuintrin.h296  nvptxintrin.h297  amdgpuintrin.h298  )299 300set(windows_only_files301  intrin0.h302  intrin.h303  vadefs.h304  yvals_core.h305)306 307set(utility_files308  mm_malloc.h309)310 311set(files312  ${core_files}313  ${arm_common_files}314  ${arm_only_files}315  ${aarch64_only_files}316  ${cuda_files}317  ${hexagon_files}318  ${hip_files}319  ${loongarch_files}320  ${mips_msa_files}321  ${opencl_files}322  ${ppc_files}323  ${ppc_htm_files}324  ${riscv_files}325  ${spirv_files}326  ${systemz_files}327  ${ve_files}328  ${x86_files}329  ${gpu_files}330  ${webassembly_files}331  ${windows_only_files}332  ${utility_files}333  )334 335set(cuda_wrapper_files336  cuda_wrappers/algorithm337  cuda_wrappers/cmath338  cuda_wrappers/complex339  cuda_wrappers/new340)341 342set(cuda_wrapper_bits_files343  cuda_wrappers/bits/c++config.h344  cuda_wrappers/bits/shared_ptr_base.h345  cuda_wrappers/bits/basic_string.h346  cuda_wrappers/bits/basic_string.tcc347)348 349set(cuda_wrapper_utility_files350  cuda_wrappers/__utility/declval.h351)352 353set(ppc_wrapper_files354  ppc_wrappers/mmintrin.h355  ppc_wrappers/xmmintrin.h356  ppc_wrappers/mm_malloc.h357  ppc_wrappers/emmintrin.h358  ppc_wrappers/pmmintrin.h359  ppc_wrappers/tmmintrin.h360  ppc_wrappers/smmintrin.h361  ppc_wrappers/nmmintrin.h362  ppc_wrappers/bmiintrin.h363  ppc_wrappers/bmi2intrin.h364  ppc_wrappers/immintrin.h365  ppc_wrappers/x86intrin.h366  ppc_wrappers/x86gprintrin.h367)368 369set(openmp_wrapper_files370  openmp_wrappers/math.h371  openmp_wrappers/cmath372  # Due to a bug in CMake, `complex` must be before `complex.h`373  # See: https://gitlab.kitware.com/cmake/cmake/-/issues/26058374  openmp_wrappers/complex375  openmp_wrappers/complex.h376  openmp_wrappers/__clang_openmp_device_functions.h377  openmp_wrappers/complex_cmath.h378  openmp_wrappers/new379)380 381set(llvm_offload_wrapper_files382  llvm_offload_wrappers/__llvm_offload.h383  llvm_offload_wrappers/__llvm_offload_host.h384  llvm_offload_wrappers/__llvm_offload_device.h385)386 387set(llvm_libc_wrapper_files388  llvm_libc_wrappers/assert.h389  llvm_libc_wrappers/stdio.h390  llvm_libc_wrappers/stdlib.h391  llvm_libc_wrappers/string.h392  llvm_libc_wrappers/ctype.h393  llvm_libc_wrappers/inttypes.h394  llvm_libc_wrappers/time.h395)396 397set(zos_wrapper_files398  zos_wrappers/builtins.h399)400 401include(GetClangResourceDir)402get_clang_resource_dir(output_dir PREFIX ${LLVM_LIBRARY_OUTPUT_INTDIR}/.. SUBDIR include)403set(out_files)404set(generated_files)405 406set(arm_common_generated_files)407set(arm_only_generated_files)408set(aarch64_only_generated_files)409set(riscv_generated_files)410 411function(copy_header_to_output_dir src_dir file)412  set(src ${src_dir}/${file})413  if("${CMAKE_CFG_INTDIR}" STREQUAL ".")414    set(dst ${output_dir}/${file})415    add_custom_command(OUTPUT ${dst}416      DEPENDS ${src}417      COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}418      COMMENT "Copying clang's ${file}...")419    list(APPEND out_files ${dst})420  else()421    foreach(BUILD_MODE ${CMAKE_CONFIGURATION_TYPES})422      # Replace the special string with a per config directory.423      string(REPLACE ${CMAKE_CFG_INTDIR} ${BUILD_MODE} per_conf_output_dir ${output_dir})424      set(dst ${per_conf_output_dir}/${file})425      add_custom_command(OUTPUT ${dst}426        DEPENDS ${src}427        COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}428        COMMENT "Copying clang's ${file}...")429      list(APPEND out_files ${dst})430    endforeach()431  endif()432  set(out_files ${out_files} PARENT_SCOPE)433endfunction(copy_header_to_output_dir)434 435function(clang_generate_header td_option td_file out_file)436  clang_tablegen(${out_file} ${td_option}437  -I ${CLANG_SOURCE_DIR}/include/clang/Basic/438  SOURCE ${CLANG_SOURCE_DIR}/include/clang/Basic/${td_file})439 440  copy_header_to_output_dir(${CMAKE_CURRENT_BINARY_DIR} ${out_file})441  set(out_files ${out_files} PARENT_SCOPE)442  list(APPEND generated_files "${CMAKE_CURRENT_BINARY_DIR}/${out_file}")443  set(generated_files ${generated_files} PARENT_SCOPE)444endfunction(clang_generate_header)445 446 447# Copy header files from the source directory to the build directory448foreach( f ${files} ${cuda_wrapper_files} ${cuda_wrapper_bits_files}449           ${cuda_wrapper_utility_files} ${ppc_wrapper_files} ${openmp_wrapper_files}450           ${zos_wrapper_files} ${hlsl_files} ${llvm_libc_wrapper_files}451           ${llvm_offload_wrapper_files})452  copy_header_to_output_dir(${CMAKE_CURRENT_SOURCE_DIR} ${f})453endforeach( f )454 455# Generate header files and copy them to the build directory456if(ARM IN_LIST LLVM_TARGETS_TO_BUILD OR AArch64 IN_LIST LLVM_TARGETS_TO_BUILD)457  # Generate arm_neon.h458  clang_generate_header(-gen-arm-neon arm_neon.td arm_neon.h)459  # Generate arm_fp16.h460  clang_generate_header(-gen-arm-fp16 arm_fp16.td arm_fp16.h)461  # Generate arm_sve.h462  clang_generate_header(-gen-arm-sve-header arm_sve.td arm_sve.h)463  # Generate arm_sme.h464  clang_generate_header(-gen-arm-sme-header arm_sme.td arm_sme.h)465  # Generate arm_bf16.h466  clang_generate_header(-gen-arm-bf16 arm_bf16.td arm_bf16.h)467  # Generate arm_mve.h468  clang_generate_header(-gen-arm-mve-header arm_mve.td arm_mve.h)469  # Generate arm_cde.h470  clang_generate_header(-gen-arm-cde-header arm_cde.td arm_cde.h)471  # Generate arm_vector_types.h472  clang_generate_header(-gen-arm-vector-type arm_neon.td arm_vector_types.h)473 474  # Add headers to target specific lists475  list(APPEND arm_common_generated_files476    "${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h"477    "${CMAKE_CURRENT_BINARY_DIR}/arm_fp16.h"478    )479 480  list(APPEND arm_only_generated_files481    "${CMAKE_CURRENT_BINARY_DIR}/arm_mve.h"482    "${CMAKE_CURRENT_BINARY_DIR}/arm_cde.h"483    )484 485  list(APPEND aarch64_only_generated_files486    "${CMAKE_CURRENT_BINARY_DIR}/arm_sve.h"487    "${CMAKE_CURRENT_BINARY_DIR}/arm_sme.h"488    "${CMAKE_CURRENT_BINARY_DIR}/arm_bf16.h"489    "${CMAKE_CURRENT_BINARY_DIR}/arm_vector_types.h"490    )491endif()492if(RISCV IN_LIST LLVM_TARGETS_TO_BUILD)493  # Generate riscv_vector.h494  clang_generate_header(-gen-riscv-vector-header riscv_vector.td riscv_vector.h)495  list(APPEND riscv_generated_files496    "${CMAKE_CURRENT_BINARY_DIR}/riscv_vector.h"497    )498endif()499 500 501# Check if the generated headers are included in a target specific lists502# Currently, all generated headers are target specific.503set(all_target_specific_generated_files504  ${arm_common_generated_files}505  ${arm_only_generated_files}506  ${aarch64_only_generated_files}507  ${riscv_generated_files})508foreach( f ${generated_files} )509  if (NOT ${f} IN_LIST all_target_specific_generated_files)510    message(WARNING "${f} is a generated header but it is not included in any "511                    "target specific header lists! The resource-headers "512                    "distribtion target will be incorrect!")513  endif()514endforeach( f )515 516function(add_header_target target_name file_list)517  add_library(${target_name} INTERFACE ${file_list})518  set_target_properties(${target_name} PROPERTIES519    FOLDER "Clang/Resources"520    RUNTIME_OUTPUT_DIRECTORY "${output_dir}")521endfunction()522 523# The catch-all clang-resource-headers target524add_library(clang-resource-headers INTERFACE ${out_files})525set_target_properties("clang-resource-headers" PROPERTIES526  FOLDER "Clang/Resources"527  RUNTIME_OUTPUT_DIRECTORY "${output_dir}")528add_dependencies("clang-resource-headers"529                 "core-resource-headers"530                 "arm-common-resource-headers"531                 "arm-resource-headers"532                 "aarch64-resource-headers"533                 "cuda-resource-headers"534                 "hexagon-resource-headers"535                 "hip-resource-headers"536                 "hlsl-resource-headers"537                 "loongarch-resource-headers"538                 "mips-resource-headers"539                 "ppc-resource-headers"540                 "ppc-htm-resource-headers"541                 "riscv-resource-headers"542                 "spirv-resource-headers"543                 "systemz-resource-headers"544                 "ve-resource-headers"545                 "webassembly-resource-headers"546                 "x86-resource-headers"547                 "opencl-resource-headers"548                 "openmp-resource-headers"549                 "llvm-libc-resource-headers"550                 "windows-resource-headers"551                 "utility-resource-headers")552 553# Core/common headers554add_header_target("core-resource-headers" ${core_files})555add_header_target("arm-common-resource-headers" "${arm_common_files};${arm_common_generated_files}")556 557# Architecture/platform specific targets558add_header_target("arm-resource-headers" "${arm_only_files};${arm_only_generated_files}")559add_header_target("aarch64-resource-headers" "${aarch64_only_files};${aarch64_only_generated_files}")560add_header_target("cuda-resource-headers" "${cuda_files};${cuda_wrapper_files};${cuda_wrapper_bits_files};${cuda_wrapper_utility_files}")561add_header_target("hexagon-resource-headers" "${hexagon_files}")562add_header_target("hip-resource-headers" "${hip_files}")563add_header_target("loongarch-resource-headers" "${loongarch_files}")564add_header_target("mips-resource-headers" "${mips_msa_files}")565add_header_target("ppc-resource-headers" "${ppc_files};${ppc_wrapper_files}")566add_header_target("ppc-htm-resource-headers" "${ppc_htm_files}")567add_header_target("riscv-resource-headers" "${riscv_files};${riscv_generated_files}")568add_header_target("systemz-resource-headers" "${systemz_files};${zos_wrapper_files}")569add_header_target("ve-resource-headers" "${ve_files}")570add_header_target("webassembly-resource-headers" "${webassembly_files}")571add_header_target("x86-resource-headers" "${x86_files}")572add_header_target("gpu-resource-headers" "${gpu_files}")573 574# Other header groupings575add_header_target("hlsl-resource-headers" ${hlsl_files})576add_header_target("spirv-resource-headers" ${spirv_files})577add_header_target("opencl-resource-headers" ${opencl_files})578add_header_target("llvm-libc-resource-headers" ${llvm_libc_wrapper_files})579add_header_target("openmp-resource-headers" ${openmp_wrapper_files})580add_header_target("llvm-offload-resource-headers" ${llvm_libc_wrapper_files})581add_header_target("windows-resource-headers" ${windows_only_files})582add_header_target("utility-resource-headers" ${utility_files})583 584get_clang_resource_dir(header_install_dir SUBDIR include)585target_include_directories(clang-resource-headers INTERFACE586  $<BUILD_INTERFACE:${output_dir}>587  $<INSTALL_INTERFACE:${header_install_dir}>)588set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS clang-resource-headers)589 590#############################################################591# Install rules for the catch-all clang-resource-headers target592install(593  FILES ${files} ${generated_files}594  DESTINATION ${header_install_dir}595  COMPONENT clang-resource-headers)596 597install(598  FILES ${cuda_wrapper_files}599  DESTINATION ${header_install_dir}/cuda_wrappers600  COMPONENT clang-resource-headers)601 602install(603  FILES ${cuda_wrapper_bits_files}604  DESTINATION ${header_install_dir}/cuda_wrappers/bits605  COMPONENT clang-resource-headers)606 607install(608  FILES ${cuda_wrapper_utility_files}609  DESTINATION ${header_install_dir}/cuda_wrappers/__utility610  COMPONENT clang-resource-headers)611 612install(613  FILES ${ppc_wrapper_files}614  DESTINATION ${header_install_dir}/ppc_wrappers615  COMPONENT clang-resource-headers)616 617install(618  FILES ${llvm_libc_wrapper_files}619  DESTINATION ${header_install_dir}/llvm_libc_wrappers620  COMPONENT clang-resource-headers)621 622install(623  FILES ${openmp_wrapper_files}624  DESTINATION ${header_install_dir}/openmp_wrappers625  COMPONENT clang-resource-headers)626 627install(628  FILES ${llvm_offload_wrapper_files}629  DESTINATION ${header_install_dir}/llvm_offload_wrappers630  COMPONENT clang-resource-headers)631 632install(633  FILES ${zos_wrapper_files}634  DESTINATION ${header_install_dir}/zos_wrappers635  COMPONENT clang-resource-headers)636 637#############################################################638# Install rules for separate header lists639install(640  FILES ${core_files}641  DESTINATION ${header_install_dir}642  EXCLUDE_FROM_ALL643  COMPONENT core-resource-headers)644 645install(646  FILES ${arm_common_files} ${arm_common_generated_files}647  DESTINATION ${header_install_dir}648  EXCLUDE_FROM_ALL649  COMPONENT arm-common-resource-headers)650 651install(652  FILES ${arm_only_files} ${arm_only_generated_files}653  DESTINATION ${header_install_dir}654  EXCLUDE_FROM_ALL655  COMPONENT arm-resource-headers)656 657install(658  FILES ${aarch64_only_files} ${aarch64_only_generated_files}659  DESTINATION ${header_install_dir}660  EXCLUDE_FROM_ALL661  COMPONENT aarch64-resource-headers)662 663install(664  FILES ${cuda_wrapper_files}665  DESTINATION ${header_install_dir}/cuda_wrappers666  EXCLUDE_FROM_ALL667  COMPONENT cuda-resource-headers)668 669install(670  FILES ${cuda_wrapper_bits_files}671  DESTINATION ${header_install_dir}/cuda_wrappers/bits672  EXCLUDE_FROM_ALL673  COMPONENT cuda-resource-headers)674 675install(676  FILES ${cuda_wrapper_utility_files}677  DESTINATION ${header_install_dir}/cuda_wrappers/__utility678  EXCLUDE_FROM_ALL679  COMPONENT cuda-resource-headers)680 681install(682  FILES ${cuda_files}683  DESTINATION ${header_install_dir}684  EXCLUDE_FROM_ALL685  COMPONENT cuda-resource-headers)686 687install(688  FILES ${hexagon_files}689  DESTINATION ${header_install_dir}690  EXCLUDE_FROM_ALL691  COMPONENT hexagon-resource-headers)692 693install(694  FILES ${hip_files}695  DESTINATION ${header_install_dir}696  EXCLUDE_FROM_ALL697  COMPONENT hip-resource-headers)698 699install(700  FILES ${loongarch_files}701  DESTINATION ${header_install_dir}702  EXCLUDE_FROM_ALL703  COMPONENT loongarch-resource-headers)704 705install(706  FILES ${mips_msa_files}707  DESTINATION ${header_install_dir}708  EXCLUDE_FROM_ALL709  COMPONENT mips-resource-headers)710 711install(712  FILES ${ppc_wrapper_files}713  DESTINATION ${header_install_dir}/ppc_wrappers714  EXCLUDE_FROM_ALL715  COMPONENT ppc-resource-headers)716 717install(718  FILES ${ppc_files}719  DESTINATION ${header_install_dir}720  EXCLUDE_FROM_ALL721  COMPONENT ppc-resource-headers)722 723install(724  FILES ${ppc_htm_files}725  DESTINATION ${header_install_dir}726  EXCLUDE_FROM_ALL727  COMPONENT ppc-htm-resource-headers)728 729install(730  FILES ${riscv_generated_files}731  DESTINATION ${header_install_dir}732  EXCLUDE_FROM_ALL733  COMPONENT riscv-resource-headers)734 735install(736  FILES ${riscv_files}737  DESTINATION ${header_install_dir}738  EXCLUDE_FROM_ALL739  COMPONENT riscv-resource-headers)740 741install(742  FILES ${systemz_files}743  DESTINATION ${header_install_dir}744  EXCLUDE_FROM_ALL745  COMPONENT systemz-resource-headers)746 747install(748  FILES ${zos_wrapper_files}749  DESTINATION  ${header_install_dir}/zos_wrappers750  EXCLUDE_FROM_ALL751  COMPONENT systemz-resource-headers)752 753install(754  FILES ${ve_files}755  DESTINATION ${header_install_dir}756  EXCLUDE_FROM_ALL757  COMPONENT ve-resource-headers)758 759install(760  FILES ${webassembly_files}761  DESTINATION ${header_install_dir}762  EXCLUDE_FROM_ALL763  COMPONENT webassembly-resource-headers)764 765install(766  FILES ${x86_files}767  DESTINATION ${header_install_dir}768  EXCLUDE_FROM_ALL769  COMPONENT x86-resource-headers)770 771install(772  FILES ${gpu_files}773  DESTINATION ${header_install_dir}774  EXCLUDE_FROM_ALL775  COMPONENT gpu-resource-headers)776 777if(NOT CLANG_ENABLE_HLSL)778  set(EXCLUDE_HLSL EXCLUDE_FROM_ALL)779endif()780 781install(782  FILES ${hlsl_h}783  DESTINATION ${header_install_dir}784  ${EXCLUDE_HLSL}785  COMPONENT hlsl-resource-headers)786 787install(788  FILES ${hlsl_subdir_files}789  DESTINATION ${header_install_dir}/hlsl790  ${EXCLUDE_HLSL}791  COMPONENT hlsl-resource-headers)792 793install(794  FILES ${spirv_files}795  DESTINATION ${header_install_dir}796  EXCLUDE_FROM_ALL797  COMPONENT spirv-resource-headers)798 799install(800  FILES ${opencl_files}801  DESTINATION ${header_install_dir}802  EXCLUDE_FROM_ALL803  COMPONENT opencl-resource-headers)804 805install(806  FILES ${openmp_wrapper_files}807  DESTINATION ${header_install_dir}/openmp_wrappers808  EXCLUDE_FROM_ALL809  COMPONENT openmp-resource-headers)810 811install(812  FILES ${llvm_offload_wrapper_files}813  DESTINATION ${header_install_dir}/llvm_offload_wrappers814  EXCLUDE_FROM_ALL815  COMPONENT openmp-resource-headers)816 817install(818  FILES ${utility_files}819  DESTINATION ${header_install_dir}820  EXCLUDE_FROM_ALL821  COMPONENT utility-resource-headers)822 823install(824  FILES ${windows_only_files}825  DESTINATION ${header_install_dir}826  EXCLUDE_FROM_ALL827  COMPONENT windows-resource-headers)828#############################################################829 830if (NOT LLVM_ENABLE_IDE)831  add_llvm_install_targets(install-clang-resource-headers832                           DEPENDS clang-resource-headers833                           COMPONENT clang-resource-headers)834 835  add_llvm_install_targets(install-core-resource-headers836                           DEPENDS core-resource-headers837                           COMPONENT core-resource-headers)838  add_llvm_install_targets(install-arm-common-resource-headers839                           DEPENDS arm-common-resource-headers840                           COMPONENT arm-common-resource-headers)841  add_llvm_install_targets(install-arm-resource-headers842                           DEPENDS arm-resource-headers843                           COMPONENT arm-resource-headers)844  add_llvm_install_targets(install-aarch64-resource-headers845                           DEPENDS aarch64-resource-headers846                           COMPONENT aarch64-resource-headers)847  add_llvm_install_targets(install-cuda-resource-headers848                           DEPENDS cuda-resource-headers849                           COMPONENT cuda-resource-headers)850  add_llvm_install_targets(install-hexagon-resource-headers851                           DEPENDS hexagon-resource-headers852                           COMPONENT hexagon-resource-headers)853  add_llvm_install_targets(install-hip-resource-headers854                           DEPENDS hip-resource-headers855                           COMPONENT hip-resource-headers)856  add_llvm_install_targets(install-mips-resource-headers857                           DEPENDS mips-resource-headers858                           COMPONENT mips-resource-headers)859  add_llvm_install_targets(install-ppc-resource-headers860                           DEPENDS ppc-resource-headers861                           COMPONENT ppc-resource-headers)862  add_llvm_install_targets(install-ppc-htm-resource-headers863                           DEPENDS ppc-htm-resource-headers864                           COMPONENT ppc-htm-resource-headers)865  add_llvm_install_targets(install-riscv-resource-headers866                           DEPENDS riscv-resource-headers867                           COMPONENT riscv-resource-headers)868  add_llvm_install_targets(install-spirv-resource-headers869                           DEPENDS spirv-resource-headers870                           COMPONENT spirv-resource-headers)871  add_llvm_install_targets(install-systemz-resource-headers872                           DEPENDS systemz-resource-headers873                           COMPONENT systemz-resource-headers)874  add_llvm_install_targets(install-ve-resource-headers875                           DEPENDS ve-resource-headers876                           COMPONENT ve-resource-headers)877  add_llvm_install_targets(install-x86-resource-headers878                           DEPENDS x86-resource-headers879                           COMPONENT x86-resource-headers)880  add_llvm_install_targets(install-webassembly-resource-headers881                           DEPENDS webassembly-resource-headers882                           COMPONENT webassembly-resource-headers)883 884  add_llvm_install_targets(install-hlsl-resource-headers885                           DEPENDS hlsl-resource-headers886                           COMPONENT hlsl-resource-headers)887  add_llvm_install_targets(install-opencl-resource-headers888                           DEPENDS opencl-resource-headers889                           COMPONENT opencl-resource-headers)890  add_llvm_install_targets(install-openmp-resource-headers891                           DEPENDS openmp-resource-headers892                           COMPONENT openmp-resource-headers)893  add_llvm_install_targets(install-windows-resource-headers894                           DEPENDS windows-resource-headers895                           COMPONENT windows-resource-headers)896  add_llvm_install_targets(install-utility-resource-headers897                           DEPENDS utility-resource-headers898                           COMPONENT utility-resource-headers)899endif()900 901source_group("Clang Runtime Headers" FILES ${files})902