jlebar updated this revision to Diff 60932.
jlebar added a comment.
Fix tests for real this time.
http://reviews.llvm.org/D21419
Files:
lib/Driver/ToolChains.cpp
test/Driver/cuda-march.cu
Index: test/Driver/cuda-march.cu
===================================================================
--- /dev/null
+++ 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"
Index: lib/Driver/ToolChains.cpp
===================================================================
--- lib/Driver/ToolChains.cpp
+++ lib/Driver/ToolChains.cpp
@@ -4676,8 +4676,10 @@
DAL->append(A);
}
- if (BoundArch)
+ if (BoundArch) {
+ DAL->eraseArg(options::OPT_march_EQ);
DAL->AddJoinedArg(nullptr, Opts.getOption(options::OPT_march_EQ),
BoundArch);
+ }
return DAL;
}
Index: test/Driver/cuda-march.cu
===================================================================
--- /dev/null
+++ 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"
Index: lib/Driver/ToolChains.cpp
===================================================================
--- lib/Driver/ToolChains.cpp
+++ lib/Driver/ToolChains.cpp
@@ -4676,8 +4676,10 @@
DAL->append(A);
}
- if (BoundArch)
+ if (BoundArch) {
+ DAL->eraseArg(options::OPT_march_EQ);
DAL->AddJoinedArg(nullptr, Opts.getOption(options::OPT_march_EQ), BoundArch);
+ }
return DAL;
}
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits