diff options
author | Justin Lebar <jlebar@google.com> | 2016-06-15 23:46:11 +0000 |
---|---|---|
committer | Justin Lebar <jlebar@google.com> | 2016-06-15 23:46:11 +0000 |
commit | 4db224e199e9f0903cc1e80c5d3869346ea67b5f (patch) | |
tree | 2048aa303721db3e3da6faa05a8a90c3b0229c29 /clang/test/Driver/cuda-march.cu | |
parent | 322f21908d63851668fe0f590659ceb93655575c (diff) | |
download | bcm5719-llvm-4db224e199e9f0903cc1e80c5d3869346ea67b5f.tar.gz bcm5719-llvm-4db224e199e9f0903cc1e80c5d3869346ea67b5f.zip |
[CUDA] Don't pass top-level -march down to device cc1 or ptxas.
Summary:
Previously if you did e.g.
$ clang -march=haswell -x cuda foo.cu
we would pass "-march=haswell -march=sm_20" down to the ptxas tool.
This causes it to assert, and rightly so!
Reviewers: tra
Subscribers: cfe-commits, echristo
Differential Revision: http://reviews.llvm.org/D21419
llvm-svn: 272857
Diffstat (limited to 'clang/test/Driver/cuda-march.cu')
-rw-r--r-- | clang/test/Driver/cuda-march.cu | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/clang/test/Driver/cuda-march.cu b/clang/test/Driver/cuda-march.cu new file mode 100644 index 00000000000..e06f70f5358 --- /dev/null +++ b/clang/test/Driver/cuda-march.cu @@ -0,0 +1,24 @@ +// Checks that cuda compilation does the right thing when passed -march. +// (Specifically, we want to pass it to host compilation, but not to device +// compilation or ptxas!) +// +// REQUIRES: clang-driver +// REQUIRES: x86-registered-target +// REQUIRES: nvptx-registered-target + +// RUN: %clang -### -target x86_64-linux-gnu -c -march=haswell %s 2>&1 | FileCheck %s + +// RUN: %clang -### -target x86_64-linux-gnu -c -march=haswell --cuda-gpu-arch=sm_20 %s 2>&1 | \ +// RUN: FileCheck %s + +// CHECK:clang +// CHECK: "-cc1" +// CHECK-SAME: "-triple" "nvptx +// CHECK-SAME: "-target-cpu" "sm_20" + +// CHECK: ptxas +// CHECK-SAME: "--gpu-name" "sm_20" + +// CHECK:clang +// CHECK-SAME: "-cc1" +// CHECK-SAME: "-target-cpu" "haswell" |