forked from OSchip/llvm-project
87 lines
3.9 KiB
Plaintext
87 lines
3.9 KiB
Plaintext
// REQUIRES: clang-driver
|
|
// REQUIRES: x86-registered-target
|
|
// REQUIRES: amdgpu-registered-target
|
|
|
|
// Output bundled code objects for combined compilation.
|
|
// RUN: %clang -### -c -target x86_64-linux-gnu -fgpu-rdc \
|
|
// RUN: --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 %s \
|
|
// RUN: 2>&1 | FileCheck %s
|
|
|
|
// CHECK: {{.*}}clang-offload-bundler{{.*}}"-outputs=hip-output-file-name.o"
|
|
|
|
// Check -E default output is "-" (stdout).
|
|
// If there are multiple preprocessor expansion outputs clang-offload-bundler
|
|
// is used to bundle the final output.
|
|
|
|
// Output bundled PPE for one GPU for mixed compliation.
|
|
// RUN: %clang -### -E -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 %s \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=DASH %s
|
|
|
|
// Output unbundled PPE for one GPU for device only compilation.
|
|
// RUN: %clang -### -E --cuda-device-only -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 %s \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=CLANG-DASH %s
|
|
|
|
// Output bundled PPE for two GPUs for mixed compilation.
|
|
// RUN: %clang -### -E -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 %s \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=DASH %s
|
|
|
|
// Output bundled PPE for two GPUs for mixed compilation with -save-temps.
|
|
// RUN: %clang -### -E -save-temps -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 %s \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=DASH %s
|
|
|
|
// Output unbundled PPE for two GPUs for device only compilation.
|
|
// RUN: %clang -### -E --cuda-device-only -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 %s \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=CLANG-DASH %s
|
|
|
|
// Output bundled PPE for two GPUs for device only compilation with --gpu-bundle-output.
|
|
// RUN: %clang -### -E --cuda-device-only -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 %s --gpu-bundle-output \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=DASH %s
|
|
|
|
// Output unbundled PPE for two GPUs for device only compilation with --no-gpu-bundle-output.
|
|
// RUN: %clang -### -E --cuda-device-only -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 %s --no-gpu-bundle-output \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=CLANG-DASH %s
|
|
|
|
// Output unbundled PPE for host only compilation.
|
|
// RUN: %clang -### -E --cuda-host-only -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 %s \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=CLANG-DASH %s
|
|
|
|
// DASH-NOT: {{.*}}clang{{.*}}"-o" "-"
|
|
// DASH: {{.*}}clang-offload-bundler{{.*}}"-outputs=-"
|
|
// CLANG-DASH: {{.*}}clang{{.*}}"-o" "-"
|
|
// CLANG-DASH-NOT: {{.*}}clang-offload-bundler{{.*}}"-outputs=-"
|
|
|
|
// Check -E with -o.
|
|
|
|
// Output bundled PPE for two GPUs for mixed compilation.
|
|
// RUN: %clang -### -E -o test.cui -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 %s \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=OUT %s
|
|
|
|
// Output bundled PPE for two GPUs for mixed compilation.
|
|
// RUN: %clang -### -E -o test.cui -save-temps -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 %s \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=OUT %s
|
|
|
|
// Output bundled PPE for two GPUs for device only compilation with --gpu-bundle-output.
|
|
// RUN: %clang -### -E -o test.cui --cuda-device-only -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 --gpu-bundle-output %s \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=OUT %s
|
|
|
|
// Output unbundled PPE for two GPUs for device only compilation.
|
|
// RUN: %clang -### -E -o test.cui --cuda-host-only -target x86_64-linux-gnu \
|
|
// RUN: --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 %s \
|
|
// RUN: 2>&1 | FileCheck -check-prefixes=CLANG-OUT %s
|
|
|
|
// OUT-NOT: {{.*}}clang{{.*}}"-o" "test.cui"
|
|
// OUT: {{.*}}clang-offload-bundler{{.*}}"-outputs=test.cui"
|
|
// CLANG-OUT: {{.*}}clang{{.*}}"-o" "test.cui"
|
|
// CLANG-OUT-NOT: {{.*}}clang-offload-bundler{{.*}}"-outputs=test.cui"
|