summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorYaxun Liu <Yaxun.Liu@amd.com>2019-10-09 18:46:43 +0000
committerYaxun Liu <Yaxun.Liu@amd.com>2019-10-09 18:46:43 +0000
commite6a0ab18d19b69e35743015853844d7305891e4e (patch)
tree434d84f1dfcb3ee76aae8008d39c57797d343bf6 /test
parentb8ee3f498b42c135ff329f62c36cdd6bb774221d (diff)
downloadclang-e6a0ab18d19b69e35743015853844d7305891e4e.tar.gz
[HIP] Fix -save-temps
Currently clang does not save some of the intermediate file generated during device compilation for HIP when -save-temps is specified. This patch fixes that. Differential Revision: https://reviews.llvm.org/D68665 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@374198 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Driver/hip-save-temps.hip41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/Driver/hip-save-temps.hip b/test/Driver/hip-save-temps.hip
new file mode 100644
index 0000000000..f7f2c6ef57
--- /dev/null
+++ b/test/Driver/hip-save-temps.hip
@@ -0,0 +1,41 @@
+// REQUIRES: clang-driver
+// REQUIRES: x86-registered-target
+// REQUIRES: amdgpu-registered-target
+
+// -fno-gpu-rdc without -o
+// RUN: %clang -### -target x86_64-linux-gnu -nogpulib -save-temps \
+// RUN: -x hip --cuda-gpu-arch=gfx900 %s 2>&1 | \
+// RUN: FileCheck -check-prefixes=CHECK,NORDC,NOUT %s
+
+// -fno-gpu-rdc with -o
+// RUN: %clang -### -target x86_64-linux-gnu -nogpulib -save-temps \
+// RUN: -o executable -x hip --cuda-gpu-arch=gfx900 %s 2>&1 | \
+// RUN: FileCheck -check-prefixes=CHECK,NORDC,WOUT %s
+
+// -fgpu-rdc without -o
+// RUN: %clang -### -target x86_64-linux-gnu -nogpulib -save-temps \
+// RUN: -fgpu-rdc -x hip --cuda-gpu-arch=gfx900 %s 2>&1 | \
+// RUN: FileCheck -check-prefixes=CHECK,RDC,RDC-NOUT,NOUT %s
+
+// -fgpu-rdc with -o
+// RUN: %clang -### -target x86_64-linux-gnu -nogpulib -save-temps \
+// RUN: -o executable -fgpu-rdc -x hip --cuda-gpu-arch=gfx900 %s 2>&1 | \
+// RUN: FileCheck -check-prefixes=CHECK,RDC,RDC-WOUT,WOUT %s
+
+// CHECK: {{.*}}clang{{.*}}"-o" "hip-save-temps-hip-amdgcn-amd-amdhsa-gfx900.cui"
+// CHECK: {{.*}}llvm-link{{.*}}"-o" "hip-save-temps-hip-amdgcn-amd-amdhsa-gfx900-linked.bc"
+// CHECK: {{.*}}opt{{.*}}"-o" "hip-save-temps-hip-amdgcn-amd-amdhsa-gfx900-optimized.bc"
+// CHECK: {{.*}}llc{{.*}}"-filetype=asm"{{.*}}"-o" "hip-save-temps-hip-amdgcn-amd-amdhsa-gfx900.s"
+// CHECK: {{.*}}llc{{.*}}"-filetype=obj"{{.*}}"-o" "hip-save-temps-hip-amdgcn-amd-amdhsa-gfx900.o"
+// NORDC: {{.*}}lld{{.*}}"-o" "hip-save-temps-hip-amdgcn-amd-amdhsa-gfx900.out"
+// RDC: {{.*}}lld{{.*}}"-o" "a.out-hip-amdgcn-amd-amdhsa-gfx900"
+// NORDC: {{.*}}clang-offload-bundler{{.*}}"-outputs=hip-save-temps.hip-hip-amdgcn-amd-amdhsa.hipfb"
+// CHECK: {{.*}}clang{{.*}}"-o" "hip-save-temps-host-x86_64-unknown-linux-gnu.cui"
+// CHECK: {{.*}}clang{{.*}}"-o" "hip-save-temps-host-x86_64-unknown-linux-gnu.bc"
+// CHECK: {{.*}}clang{{.*}}"-o" "hip-save-temps-host-x86_64-unknown-linux-gnu.s"
+// CHECK: {{.*}}clang{{.*}}"-o" "hip-save-temps{{.*}}.o"
+// RDC-NOUT: {{.*}}clang-offload-bundler{{.*}}"-outputs=a.out.hipfb"
+// RDC-WOUT: {{.*}}clang-offload-bundler{{.*}}"-outputs=executable.hipfb"
+// NOUT: {{.*}}ld{{.*}}"-o" "a.out"
+// WOUT: {{.*}}ld{{.*}}"-o" "executable"
+