diff --git a/openmp/libomptarget/test/lit.cfg b/openmp/libomptarget/test/lit.cfg index adbdd7cc35cc4..19c5e5c457222 100644 --- a/openmp/libomptarget/test/lit.cfg +++ b/openmp/libomptarget/test/lit.cfg @@ -78,6 +78,10 @@ config.test_flags = " -I " + config.test_source_root + \ " -L " + config.library_dir + \ " -L " + config.llvm_lib_directory +# compiler specific flags +config.test_flags_clang = "" +config.test_flags_flang = "" + if config.omp_host_rtl_directory: config.test_flags = config.test_flags + " -L " + \ config.omp_host_rtl_directory @@ -136,7 +140,7 @@ else: # Unices if config.cuda_libdir: config.test_flags += " -Wl,-rpath," + config.cuda_libdir if config.libomptarget_current_target.startswith('nvptx'): - config.test_flags += " --libomptarget-nvptx-bc-path=" + config.library_dir + '/DeviceRTL' + config.test_flags_clang += " --libomptarget-nvptx-bc-path=" + config.library_dir + '/DeviceRTL' if config.libomptarget_current_target.endswith('-LTO'): config.test_flags += " -foffload-lto" if config.libomptarget_current_target.endswith('-JIT-LTO') and evaluate_bool_env( @@ -273,13 +277,13 @@ for libomptarget_target in config.libomptarget_all_targets: libomptarget_target, \ "%not --crash %t")) config.substitutions.append(("%clangxx-" + libomptarget_target, \ - "%clangxx %openmp_flags %cuda_flags %flags -fopenmp-targets=" +\ + "%clangxx %openmp_flags %cuda_flags %flags %flags_clang -fopenmp-targets=" +\ remove_suffix_if_present(libomptarget_target))) config.substitutions.append(("%clang-" + libomptarget_target, \ - "%clang %openmp_flags %cuda_flags %flags -fopenmp-targets=" +\ + "%clang %openmp_flags %cuda_flags %flags %flags_clang -fopenmp-targets=" +\ remove_suffix_if_present(libomptarget_target))) config.substitutions.append(("%flang-" + libomptarget_target, \ - "%flang %openmp_flags %flags -fopenmp-targets=" +\ + "%flang %openmp_flags %flags %flags_flang -fopenmp-targets=" +\ remove_suffix_if_present(libomptarget_target))) config.substitutions.append(("%fcheck-" + libomptarget_target, \ config.libomptarget_filecheck + " %s")) @@ -356,5 +360,7 @@ if config.libomptarget_current_target.startswith('nvptx') and config.cuda_path: config.substitutions.append(("%cuda_flags", "--cuda-path=" + config.cuda_path)) else: config.substitutions.append(("%cuda_flags", "")) +config.substitutions.append(("%flags_clang", config.test_flags_clang)) +config.substitutions.append(("%flags_flang", config.test_flags_flang)) config.substitutions.append(("%flags", config.test_flags)) config.substitutions.append(("%not", config.libomptarget_not)) diff --git a/openmp/libomptarget/test/offloading/fortran/basic-target-region-1D-array-section.f90 b/openmp/libomptarget/test/offloading/fortran/basic-target-region-1D-array-section.f90 index 993b91d4eb623..476b77e4a549b 100644 --- a/openmp/libomptarget/test/offloading/fortran/basic-target-region-1D-array-section.f90 +++ b/openmp/libomptarget/test/offloading/fortran/basic-target-region-1D-array-section.f90 @@ -1,6 +1,6 @@ ! Basic offloading test of arrays with provided lower ! and upper bounds as specified by OpenMP's sectioning -! REQUIRES: flang, amdgcn-amd-amdhsa, nvptx64-nvidia-cuda +! REQUIRES: flang ! UNSUPPORTED: nvptx64-nvidia-cuda-LTO ! UNSUPPORTED: aarch64-unknown-linux-gnu ! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO diff --git a/openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array-section.f90 b/openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array-section.f90 index 669d3674926f6..229798b57477d 100644 --- a/openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array-section.f90 +++ b/openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array-section.f90 @@ -1,6 +1,6 @@ ! Basic offloading test of a regular array explicitly ! passed within a target region -! REQUIRES: flang, amdgcn-amd-amdhsa, nvptx64-nvidia-cuda +! REQUIRES: flang ! UNSUPPORTED: nvptx64-nvidia-cuda-LTO ! UNSUPPORTED: aarch64-unknown-linux-gnu ! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO diff --git a/openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array.f90 b/openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array.f90 index c87d6ee24aed3..ea3048185d52b 100644 --- a/openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array.f90 +++ b/openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array.f90 @@ -1,6 +1,6 @@ ! Basic offloading test of a regular array explicitly ! passed within a target region -! REQUIRES: flang, amdgcn-amd-amdhsa, nvptx64-nvidia-cuda +! REQUIRES: flang ! UNSUPPORTED: nvptx64-nvidia-cuda-LTO ! UNSUPPORTED: aarch64-unknown-linux-gnu ! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO diff --git a/openmp/libomptarget/test/offloading/fortran/basic_target_region.f90 b/openmp/libomptarget/test/offloading/fortran/basic_target_region.f90 index 6423ac765670d..d856d42bb8cd6 100644 --- a/openmp/libomptarget/test/offloading/fortran/basic_target_region.f90 +++ b/openmp/libomptarget/test/offloading/fortran/basic_target_region.f90 @@ -1,5 +1,5 @@ ! Basic offloading test with a target region -! REQUIRES: flang, amdgcn-amd-amdhsa, nvptx64-nvidia-cuda +! REQUIRES: flang ! UNSUPPORTED: nvptx64-nvidia-cuda-LTO ! UNSUPPORTED: aarch64-unknown-linux-gnu ! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO diff --git a/openmp/libomptarget/test/offloading/fortran/constant-arr-index.f90 b/openmp/libomptarget/test/offloading/fortran/constant-arr-index.f90 index 9064f60896f10..669630555c31e 100644 --- a/openmp/libomptarget/test/offloading/fortran/constant-arr-index.f90 +++ b/openmp/libomptarget/test/offloading/fortran/constant-arr-index.f90 @@ -2,8 +2,7 @@ ! that checks constant indexing on device ! correctly works (regression test for prior ! bug). -! REQUIRES: flang, amdgcn-amd-amdhsa -! UNSUPPORTED: nvptx64-nvidia-cuda +! REQUIRES: flang ! UNSUPPORTED: nvptx64-nvidia-cuda-LTO ! UNSUPPORTED: aarch64-unknown-linux-gnu ! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO diff --git a/openmp/libomptarget/test/offloading/fortran/declare-target-array-in-target-region.f90 b/openmp/libomptarget/test/offloading/fortran/declare-target-array-in-target-region.f90 index d2e59d93a0209..c09146198768b 100644 --- a/openmp/libomptarget/test/offloading/fortran/declare-target-array-in-target-region.f90 +++ b/openmp/libomptarget/test/offloading/fortran/declare-target-array-in-target-region.f90 @@ -1,7 +1,7 @@ ! Offloading test with a target region mapping a declare target ! Fortran array writing some values to it and checking the host ! correctly receives the updates made on the device. -! REQUIRES: flang, amdgcn-amd-amdhsa, nvptx64-nvidia-cuda +! REQUIRES: flang ! UNSUPPORTED: nvptx64-nvidia-cuda-LTO ! UNSUPPORTED: aarch64-unknown-linux-gnu ! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO diff --git a/openmp/libomptarget/test/offloading/fortran/double-target-call-with-declare-target.f90 b/openmp/libomptarget/test/offloading/fortran/double-target-call-with-declare-target.f90 index 884acb275a0eb..56c96727d4752 100644 --- a/openmp/libomptarget/test/offloading/fortran/double-target-call-with-declare-target.f90 +++ b/openmp/libomptarget/test/offloading/fortran/double-target-call-with-declare-target.f90 @@ -2,7 +2,8 @@ ! declare target Fortran array and writing some values to ! it before checking the host correctly receives the ! correct updates made on the device. -! REQUIRES: flang, amdgcn-amd-amdhsa, nvptx64-nvidia-cuda +! REQUIRES: flang +! UNSUPPORTED: nvptx64-nvidia-cuda ! UNSUPPORTED: nvptx64-nvidia-cuda-LTO ! UNSUPPORTED: aarch64-unknown-linux-gnu ! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO diff --git a/openmp/libomptarget/test/offloading/fortran/target-region-implicit-array.f90 b/openmp/libomptarget/test/offloading/fortran/target-region-implicit-array.f90 index 5ef2547545e4b..ada6ef2ad7301 100644 --- a/openmp/libomptarget/test/offloading/fortran/target-region-implicit-array.f90 +++ b/openmp/libomptarget/test/offloading/fortran/target-region-implicit-array.f90 @@ -1,6 +1,6 @@ ! Basic offloading test of a regular array explicitly ! passed within a target region -! REQUIRES: flang, amdgcn-amd-amdhsa, nvptx64-nvidia-cuda +! REQUIRES: flang ! UNSUPPORTED: nvptx64-nvidia-cuda-LTO ! UNSUPPORTED: aarch64-unknown-linux-gnu ! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO diff --git a/openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90 b/openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90 index e782ef8a670a7..f20423edb9576 100644 --- a/openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90 +++ b/openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90 @@ -1,5 +1,5 @@ ! Basic offloading test with a target region -! REQUIRES: flang, amdgcn-amd-amdhsa +! REQUIRES: flang ! UNSUPPORTED: nvptx64-nvidia-cuda ! UNSUPPORTED: nvptx64-nvidia-cuda-LTO ! UNSUPPORTED: aarch64-unknown-linux-gnu diff --git a/openmp/libomptarget/test/offloading/fortran/target_map_common_block2.f90 b/openmp/libomptarget/test/offloading/fortran/target_map_common_block2.f90 index 8a9c47545fbd7..24e3e2b7ab117 100644 --- a/openmp/libomptarget/test/offloading/fortran/target_map_common_block2.f90 +++ b/openmp/libomptarget/test/offloading/fortran/target_map_common_block2.f90 @@ -1,4 +1,4 @@ -! REQUIRES: flang, amdgcn-amd-amdhsa +! REQUIRES: flang ! UNSUPPORTED: nvptx64-nvidia-cuda ! UNSUPPORTED: nvptx64-nvidia-cuda-LTO ! UNSUPPORTED: aarch64-unknown-linux-gnu