[driver][hip] Skip bundler if host action is nothing.
authorMichael Liao <michael.hliao@gmail.com>
Tue, 8 Oct 2019 18:06:51 +0000 (18:06 +0000)
committerMichael Liao <michael.hliao@gmail.com>
Tue, 8 Oct 2019 18:06:51 +0000 (18:06 +0000)
Reviewers: sfantao, tra, yaxunl

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68652

llvm-svn: 374097

clang/lib/Driver/Driver.cpp
clang/test/Driver/hip-syntax-only.hip [new file with mode: 0644]

index 5b72b4a..df3e82b 100644 (file)
@@ -3108,7 +3108,8 @@ public:
     // the resulting list. Otherwise, just append the device actions. For
     // device only compilation, HostAction is a null pointer, therefore only do
     // this when HostAction is not a null pointer.
-    if (CanUseBundler && HostAction && !OffloadAL.empty()) {
+    if (CanUseBundler && HostAction &&
+        HostAction->getType() != types::TY_Nothing && !OffloadAL.empty()) {
       // Add the host action to the list in order to create the bundling action.
       OffloadAL.push_back(HostAction);
 
diff --git a/clang/test/Driver/hip-syntax-only.hip b/clang/test/Driver/hip-syntax-only.hip
new file mode 100644 (file)
index 0000000..051c3c6
--- /dev/null
@@ -0,0 +1,11 @@
+// REQUIRES: clang-driver
+// REQUIRES: x86-registered-target
+// REQUIRES: amdgpu-registered-target
+
+// RUN: %clang -### -x hip -nogpulib -target x86_64 -fsyntax-only %s 2>&1 | FileCheck %s
+
+// Check that there are commands for both host- and device-side compilations.
+//
+// CHECK-DAG: clang{{.*}}" "-cc1" {{.*}} "-fcuda-is-device"
+// CHECK-DAG: clang{{.*}}" "-cc1" "-triple" "x86_64"
+// CHECK-NOT: clang-offload-bundler"