https://github.com/DominikAdamski updated https://github.com/llvm/llvm-project/pull/88190
>From 44def17f36e8e27eb4232681e5ae7eff5de6d90f Mon Sep 17 00:00:00 2001 From: Dominik Adamski <dominik.adam...@amd.com> Date: Tue, 9 Apr 2024 14:35:26 -0500 Subject: [PATCH 1/5] [Flang][AMDGPU] Add rocm-path flag ROCm installation path is used for finding and automatically linking required bitcode libraries. --- clang/include/clang/Driver/Options.td | 3 ++- clang/lib/Driver/ToolChains/Flang.cpp | 4 ++++ flang/test/Driver/driver-help-hidden.f90 | 1 + flang/test/Driver/driver-help.f90 | 1 + flang/test/Driver/omp-driver-offload.f90 | 21 +++++++++++++++++++++ 5 files changed, 29 insertions(+), 1 deletion(-) diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index f745e573eb2686..651aa10150c06e 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -1341,7 +1341,8 @@ def hip_link : Flag<["--"], "hip-link">, Group<opencl_Group>, HelpText<"Link clang-offload-bundler bundles for HIP">; def no_hip_rt: Flag<["-"], "no-hip-rt">, Group<hip_Group>, HelpText<"Do not link against HIP runtime libraries">; -def rocm_path_EQ : Joined<["--"], "rocm-path=">, Group<hip_Group>, +def rocm_path_EQ : Joined<["--"], "rocm-path=">, + Visibility<[FlangOption]>, Group<hip_Group>, HelpText<"ROCm installation path, used for finding and automatically linking required bitcode libraries.">; def hip_path_EQ : Joined<["--"], "hip-path=">, Group<hip_Group>, HelpText<"HIP runtime installation path, used for finding HIP version and adding HIP include path.">; diff --git a/clang/lib/Driver/ToolChains/Flang.cpp b/clang/lib/Driver/ToolChains/Flang.cpp index 2c83f70eb7887e..75e4ead81e43ed 100644 --- a/clang/lib/Driver/ToolChains/Flang.cpp +++ b/clang/lib/Driver/ToolChains/Flang.cpp @@ -342,6 +342,10 @@ void Flang::AddAMDGPUTargetArgs(const ArgList &Args, StringRef Val = A->getValue(); CmdArgs.push_back(Args.MakeArgString("-mcode-object-version=" + Val)); } + + // Check ROCm path if specified + const ToolChain &TC = getToolChain(); + TC.getDeviceLibs(Args); } void Flang::addTargetOptions(const ArgList &Args, diff --git a/flang/test/Driver/driver-help-hidden.f90 b/flang/test/Driver/driver-help-hidden.f90 index 48f48f5384fdc5..10b15fb454b9aa 100644 --- a/flang/test/Driver/driver-help-hidden.f90 +++ b/flang/test/Driver/driver-help-hidden.f90 @@ -144,6 +144,7 @@ ! CHECK-NEXT: -print-target-triple Print the normalized target triple ! CHECK-NEXT: -pthread Support POSIX threads in generated code ! CHECK-NEXT: -P Disable linemarker output in -E mode +! CHECK-NEXT: --rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries. ! CHECK-NEXT: -Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression ! CHECK-NEXT: -Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression ! CHECK-NEXT: -Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression diff --git a/flang/test/Driver/driver-help.f90 b/flang/test/Driver/driver-help.f90 index 38f74395a678ab..ed5af2a68eb044 100644 --- a/flang/test/Driver/driver-help.f90 +++ b/flang/test/Driver/driver-help.f90 @@ -132,6 +132,7 @@ ! HELP-NEXT: -print-target-triple Print the normalized target triple ! HELP-NEXT: -pthread Support POSIX threads in generated code ! HELP-NEXT: -P Disable linemarker output in -E mode +! HELP-NEXT: --rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries. ! HELP-NEXT: -Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression ! HELP-NEXT: -Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression ! HELP-NEXT: -Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression diff --git a/flang/test/Driver/omp-driver-offload.f90 b/flang/test/Driver/omp-driver-offload.f90 index 7e9a73627cd757..836dcfc85eb9de 100644 --- a/flang/test/Driver/omp-driver-offload.f90 +++ b/flang/test/Driver/omp-driver-offload.f90 @@ -201,3 +201,24 @@ ! RUN: -nogpulibc %s 2>&1 \ ! RUN: | FileCheck --check-prefix=NO-LIBC-GPU-AMDGPU %s ! NO-LIBC-GPU-AMDGPU-NOT: "-lcgpu-amdgpu" + +! RUN: rm -rf %t/Inputs + +! RUN: not %flang -### -v --target=x86_64-unknown-linux-gnu -fopenmp \ +! RUN: --offload-arch=gfx900 \ +! RUN: --rocm-path=%t/Inputs/rocm %s 2>&1 \ +! RUN: | FileCheck --check-prefix=ROCM-PATH-NOT-FOUND %s +! ROCM-PATH-NOT-FOUND: error: cannot find ROCm device library; + +! RUN: rm -rf %t/Inputs +! RUN: mkdir -p %t/Inputs +! RUN: cp -r %S/../../../clang/test/Driver/Inputs/rocm %t/Inputs +! RUN: mkdir -p %t/Inputs/rocm/share/hip +! RUN: mkdir -p %t/Inputs/rocm/hip +! RUN: mv %t/Inputs/rocm/bin/.hipVersion %t/Inputs/rocm/share/hip/version + +! RUN: %flang -### -v --target=x86_64-unknown-linux-gnu -fopenmp \ +! RUN: --offload-arch=gfx900 \ +! RUN: --rocm-path=%t/Inputs/rocm %s 2>&1 \ +! RUN: | FileCheck --check-prefix=ROCM-PATH %s +! ROCM-PATH: Found HIP installation: {{.*Inputs.*rocm}}, version 3.6.20214-a2917cd >From 1d0ecee2b09e91cc9ce6f0c79e27357a2c8f58ff Mon Sep 17 00:00:00 2001 From: Dominik Adamski <dominik.adam...@amd.com> Date: Tue, 9 Apr 2024 15:44:52 -0500 Subject: [PATCH 2/5] Remove extra new line --- flang/test/Driver/omp-driver-offload.f90 | 1 - 1 file changed, 1 deletion(-) diff --git a/flang/test/Driver/omp-driver-offload.f90 b/flang/test/Driver/omp-driver-offload.f90 index 836dcfc85eb9de..f3993fdbdb2126 100644 --- a/flang/test/Driver/omp-driver-offload.f90 +++ b/flang/test/Driver/omp-driver-offload.f90 @@ -203,7 +203,6 @@ ! NO-LIBC-GPU-AMDGPU-NOT: "-lcgpu-amdgpu" ! RUN: rm -rf %t/Inputs - ! RUN: not %flang -### -v --target=x86_64-unknown-linux-gnu -fopenmp \ ! RUN: --offload-arch=gfx900 \ ! RUN: --rocm-path=%t/Inputs/rocm %s 2>&1 \ >From b701de98327ec247ed6491302216c7f3b2949677 Mon Sep 17 00:00:00 2001 From: Dominik Adamski <dominik.adam...@amd.com> Date: Wed, 10 Apr 2024 06:38:01 -0500 Subject: [PATCH 3/5] Applied remarks --- clang/lib/Driver/ToolChains/Flang.cpp | 12 +++++++++++- flang/test/Driver/omp-driver-offload.f90 | 5 ++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Flang.cpp b/clang/lib/Driver/ToolChains/Flang.cpp index 75e4ead81e43ed..bc2d5322e93326 100644 --- a/clang/lib/Driver/ToolChains/Flang.cpp +++ b/clang/lib/Driver/ToolChains/Flang.cpp @@ -344,8 +344,18 @@ void Flang::AddAMDGPUTargetArgs(const ArgList &Args, } // Check ROCm path if specified + if (!Args.getLastArg(options::OPT_rocm_path_EQ)) + return; + + // If ROCm path is specified, check correctness of the path const ToolChain &TC = getToolChain(); - TC.getDeviceLibs(Args); + std::string HIPVersion; + llvm::raw_string_ostream HIPInfo(HIPVersion); + TC.printVerboseInfo(HIPInfo); + llvm::StringRef HIPInfoStrRef(HIPInfo.str()); + if (!HIPInfoStrRef.contains("Found HIP installation") && + !Args.getLastArg(options::OPT_nogpulib)) + TC.getDriver().Diag(diag::err_drv_no_rocm_device_lib) << 0; } void Flang::addTargetOptions(const ArgList &Args, diff --git a/flang/test/Driver/omp-driver-offload.f90 b/flang/test/Driver/omp-driver-offload.f90 index f3993fdbdb2126..7791d4b252a853 100644 --- a/flang/test/Driver/omp-driver-offload.f90 +++ b/flang/test/Driver/omp-driver-offload.f90 @@ -202,10 +202,9 @@ ! RUN: | FileCheck --check-prefix=NO-LIBC-GPU-AMDGPU %s ! NO-LIBC-GPU-AMDGPU-NOT: "-lcgpu-amdgpu" -! RUN: rm -rf %t/Inputs ! RUN: not %flang -### -v --target=x86_64-unknown-linux-gnu -fopenmp \ ! RUN: --offload-arch=gfx900 \ -! RUN: --rocm-path=%t/Inputs/rocm %s 2>&1 \ +! RUN: --rocm-path=%S/Inputs/rocm %s 2>&1 \ ! RUN: | FileCheck --check-prefix=ROCM-PATH-NOT-FOUND %s ! ROCM-PATH-NOT-FOUND: error: cannot find ROCm device library; @@ -214,7 +213,7 @@ ! RUN: cp -r %S/../../../clang/test/Driver/Inputs/rocm %t/Inputs ! RUN: mkdir -p %t/Inputs/rocm/share/hip ! RUN: mkdir -p %t/Inputs/rocm/hip -! RUN: mv %t/Inputs/rocm/bin/.hipVersion %t/Inputs/rocm/share/hip/version +! RUN: mv %t/Inputs/rocm/bin/.hipVersion %t/Inputs/rocm/share/hip/version ! RUN: %flang -### -v --target=x86_64-unknown-linux-gnu -fopenmp \ ! RUN: --offload-arch=gfx900 \ >From 22b0a3f7219d8cc7f4e85084c31d24ef172cef52 Mon Sep 17 00:00:00 2001 From: Dominik Adamski <dominik.adam...@amd.com> Date: Fri, 12 Apr 2024 08:17:16 -0500 Subject: [PATCH 4/5] Applied remarks --- clang/lib/Driver/ToolChains/Flang.cpp | 14 -------------- flang/test/Driver/omp-driver-offload.f90 | 6 ------ 2 files changed, 20 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Flang.cpp b/clang/lib/Driver/ToolChains/Flang.cpp index bc2d5322e93326..2c83f70eb7887e 100644 --- a/clang/lib/Driver/ToolChains/Flang.cpp +++ b/clang/lib/Driver/ToolChains/Flang.cpp @@ -342,20 +342,6 @@ void Flang::AddAMDGPUTargetArgs(const ArgList &Args, StringRef Val = A->getValue(); CmdArgs.push_back(Args.MakeArgString("-mcode-object-version=" + Val)); } - - // Check ROCm path if specified - if (!Args.getLastArg(options::OPT_rocm_path_EQ)) - return; - - // If ROCm path is specified, check correctness of the path - const ToolChain &TC = getToolChain(); - std::string HIPVersion; - llvm::raw_string_ostream HIPInfo(HIPVersion); - TC.printVerboseInfo(HIPInfo); - llvm::StringRef HIPInfoStrRef(HIPInfo.str()); - if (!HIPInfoStrRef.contains("Found HIP installation") && - !Args.getLastArg(options::OPT_nogpulib)) - TC.getDriver().Diag(diag::err_drv_no_rocm_device_lib) << 0; } void Flang::addTargetOptions(const ArgList &Args, diff --git a/flang/test/Driver/omp-driver-offload.f90 b/flang/test/Driver/omp-driver-offload.f90 index 7791d4b252a853..334bfed70fdb00 100644 --- a/flang/test/Driver/omp-driver-offload.f90 +++ b/flang/test/Driver/omp-driver-offload.f90 @@ -202,12 +202,6 @@ ! RUN: | FileCheck --check-prefix=NO-LIBC-GPU-AMDGPU %s ! NO-LIBC-GPU-AMDGPU-NOT: "-lcgpu-amdgpu" -! RUN: not %flang -### -v --target=x86_64-unknown-linux-gnu -fopenmp \ -! RUN: --offload-arch=gfx900 \ -! RUN: --rocm-path=%S/Inputs/rocm %s 2>&1 \ -! RUN: | FileCheck --check-prefix=ROCM-PATH-NOT-FOUND %s -! ROCM-PATH-NOT-FOUND: error: cannot find ROCm device library; - ! RUN: rm -rf %t/Inputs ! RUN: mkdir -p %t/Inputs ! RUN: cp -r %S/../../../clang/test/Driver/Inputs/rocm %t/Inputs >From a7cf6c83cfdc7fb0da23cbfdc4af73f2035961b0 Mon Sep 17 00:00:00 2001 From: Dominik Adamski <dominik.adam...@amd.com> Date: Fri, 12 Apr 2024 09:17:49 -0500 Subject: [PATCH 5/5] copy rocm input for test --- .../Inputs/rocm/amdgcn/bitcode-no-abi-ver/asanrtl.bc | 0 .../Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/hip.bc | 0 .../Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ockl.bc | 0 .../oclc_correctly_rounded_sqrt_off.bc | 0 .../bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc | 0 .../rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_off.bc | 0 .../rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_on.bc | 0 .../amdgcn/bitcode-no-abi-ver/oclc_finite_only_off.bc | 0 .../amdgcn/bitcode-no-abi-ver/oclc_finite_only_on.bc | 0 .../amdgcn/bitcode-no-abi-ver/oclc_isa_version_1010.bc | 0 .../amdgcn/bitcode-no-abi-ver/oclc_isa_version_1011.bc | 0 .../amdgcn/bitcode-no-abi-ver/oclc_isa_version_1012.bc | 0 .../amdgcn/bitcode-no-abi-ver/oclc_isa_version_803.bc | 0 .../amdgcn/bitcode-no-abi-ver/oclc_isa_version_900.bc | 0 .../amdgcn/bitcode-no-abi-ver/oclc_isa_version_908.bc | 0 .../amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_off.bc | 0 .../amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_on.bc | 0 .../bitcode-no-abi-ver/oclc_wavefrontsize64_off.bc | 0 .../amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_on.bc | 0 .../Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ocml.bc | 0 .../Inputs/rocm/amdgcn/bitcode-no-abi-ver/opencl.bc | 0 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/asanrtl.bc | 0 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/hip.bc | 0 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ockl.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_abi_version_400.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_abi_version_500.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_abi_version_600.bc | 0 .../amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc | 0 .../amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_off.bc | 0 .../Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_on.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_finite_only_off.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_finite_only_on.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1010.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1011.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1012.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_isa_version_803.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_isa_version_900.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_isa_version_908.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_off.bc | 0 .../Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_on.bc | 0 .../rocm/amdgcn/bitcode/oclc_wavefrontsize64_off.bc | 0 .../rocm/amdgcn/bitcode/oclc_wavefrontsize64_on.bc | 0 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ocml.bc | 0 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/opencl.bc | 0 flang/test/Driver/Inputs/rocm/bin/.hipVersion | 6 ++++++ flang/test/Driver/Inputs/rocm/include/hip/hip_runtime.h | 0 flang/test/Driver/Inputs/rocm/share/hip/hipVersion | 6 ++++++ flang/test/Driver/omp-driver-offload.f90 | 9 +-------- 49 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/asanrtl.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/hip.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ockl.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_off.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_on.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_off.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_on.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1010.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1011.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1012.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_803.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_900.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_908.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_off.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_on.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_off.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_on.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ocml.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/opencl.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/asanrtl.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/hip.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ockl.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_400.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_500.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_600.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_off.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_on.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_off.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_on.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1010.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1011.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1012.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_803.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_900.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_908.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_off.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_on.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_off.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_on.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ocml.bc create mode 100644 flang/test/Driver/Inputs/rocm/amdgcn/bitcode/opencl.bc create mode 100644 flang/test/Driver/Inputs/rocm/bin/.hipVersion create mode 100644 flang/test/Driver/Inputs/rocm/include/hip/hip_runtime.h create mode 100644 flang/test/Driver/Inputs/rocm/share/hip/hipVersion diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/asanrtl.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/asanrtl.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/hip.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/hip.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ockl.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ockl.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_off.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_off.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_on.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_on.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_off.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_off.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_on.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_on.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1010.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1010.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1011.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1011.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1012.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1012.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_803.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_803.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_900.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_900.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_908.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_908.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_off.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_off.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_on.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_on.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_off.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_off.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_on.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_on.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ocml.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ocml.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/opencl.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/opencl.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/asanrtl.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/asanrtl.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/hip.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/hip.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ockl.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ockl.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_400.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_400.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_500.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_500.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_600.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_600.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_off.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_off.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_on.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_on.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_off.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_off.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_on.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_on.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1010.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1010.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1011.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1011.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1012.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1012.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_803.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_803.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_900.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_900.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_908.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_908.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_off.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_off.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_on.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_on.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_off.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_off.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_on.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_on.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ocml.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ocml.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/opencl.bc b/flang/test/Driver/Inputs/rocm/amdgcn/bitcode/opencl.bc new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/bin/.hipVersion b/flang/test/Driver/Inputs/rocm/bin/.hipVersion new file mode 100644 index 00000000000000..677293c09139f5 --- /dev/null +++ b/flang/test/Driver/Inputs/rocm/bin/.hipVersion @@ -0,0 +1,6 @@ +# Auto-generated by cmake +# NOTE: The trailing whitespace is added on purpose to verify that these +# whitespaces are trimmed before paring. +HIP_VERSION_MAJOR=3 +HIP_VERSION_MINOR=6 +HIP_VERSION_PATCH=20214-a2917cd diff --git a/flang/test/Driver/Inputs/rocm/include/hip/hip_runtime.h b/flang/test/Driver/Inputs/rocm/include/hip/hip_runtime.h new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/flang/test/Driver/Inputs/rocm/share/hip/hipVersion b/flang/test/Driver/Inputs/rocm/share/hip/hipVersion new file mode 100644 index 00000000000000..677293c09139f5 --- /dev/null +++ b/flang/test/Driver/Inputs/rocm/share/hip/hipVersion @@ -0,0 +1,6 @@ +# Auto-generated by cmake +# NOTE: The trailing whitespace is added on purpose to verify that these +# whitespaces are trimmed before paring. +HIP_VERSION_MAJOR=3 +HIP_VERSION_MINOR=6 +HIP_VERSION_PATCH=20214-a2917cd diff --git a/flang/test/Driver/omp-driver-offload.f90 b/flang/test/Driver/omp-driver-offload.f90 index 334bfed70fdb00..8f48ca75114ce5 100644 --- a/flang/test/Driver/omp-driver-offload.f90 +++ b/flang/test/Driver/omp-driver-offload.f90 @@ -202,15 +202,8 @@ ! RUN: | FileCheck --check-prefix=NO-LIBC-GPU-AMDGPU %s ! NO-LIBC-GPU-AMDGPU-NOT: "-lcgpu-amdgpu" -! RUN: rm -rf %t/Inputs -! RUN: mkdir -p %t/Inputs -! RUN: cp -r %S/../../../clang/test/Driver/Inputs/rocm %t/Inputs -! RUN: mkdir -p %t/Inputs/rocm/share/hip -! RUN: mkdir -p %t/Inputs/rocm/hip -! RUN: mv %t/Inputs/rocm/bin/.hipVersion %t/Inputs/rocm/share/hip/version - ! RUN: %flang -### -v --target=x86_64-unknown-linux-gnu -fopenmp \ ! RUN: --offload-arch=gfx900 \ -! RUN: --rocm-path=%t/Inputs/rocm %s 2>&1 \ +! RUN: --rocm-path=%S/Inputs/rocm %s 2>&1 \ ! RUN: | FileCheck --check-prefix=ROCM-PATH %s ! ROCM-PATH: Found HIP installation: {{.*Inputs.*rocm}}, version 3.6.20214-a2917cd _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits