]> granicus.if.org Git - clang/commitdiff
Revert "[DRIVER][OFFLOAD] Do not invoke unbundler on unsupported file
authorAlexey Bataev <a.bataev@hotmail.com>
Tue, 25 Sep 2018 18:31:56 +0000 (18:31 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Tue, 25 Sep 2018 18:31:56 +0000 (18:31 +0000)
types."

It reverts commit r342991 + several other commits intended to fix the
tests. Still have some failed tests, need to investigate it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@343002 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Driver.cpp
test/Driver/Inputs/in.so [deleted file]
test/Driver/openmp-offload-gpu.c
test/Driver/openmp-offload.c

index 0b74bbf6df393b41d8feac274add3035fb09715b..81369f995da0c80a15420f261b8ee723313d1887 100644 (file)
@@ -2559,8 +2559,6 @@ class OffloadingActionBuilder final {
     getDeviceDependences(OffloadAction::DeviceDependences &DA,
                          phases::ID CurPhase, phases::ID FinalPhase,
                          PhasesTy &Phases) override {
-      if (OpenMPDeviceActions.empty())
-        return ABRT_Inactive;
 
       // We should always have an action for each input.
       assert(OpenMPDeviceActions.size() == ToolChains.size() &&
@@ -2819,16 +2817,6 @@ public:
     if (CanUseBundler && isa<InputAction>(HostAction) &&
         InputArg->getOption().getKind() == llvm::opt::Option::InputClass &&
         !types::isSrcFile(HostAction->getType())) {
-      StringRef FileName = InputArg->getAsString(C.getArgs());
-      // Check if the type of the file is the same as the action. Do not
-      // unbundle it if it is not. Do not unbundle .so files, for example, which
-      // are not object files.
-      if (HostAction->getType() == types::TY_Object &&
-          llvm::sys::path::has_extension(FileName) &&
-          types::lookupTypeForExtension(
-              llvm::sys::path::extension(FileName).drop_front()) !=
-              HostAction->getType())
-        return false;
       auto UnbundlingHostAction =
           C.MakeAction<OffloadUnbundlingJobAction>(HostAction);
       UnbundlingHostAction->registerDependentActionInfo(
diff --git a/test/Driver/Inputs/in.so b/test/Driver/Inputs/in.so
deleted file mode 100644 (file)
index 8b13789..0000000
+++ /dev/null
@@ -1 +0,0 @@
-
index d3eb6bde994223e4124f24d76efe1b3d5891ef46..e02d500c8f26fab8217d10837e24323b872084b1 100644 (file)
 /// Check cubin file unbundling and usage by nvlink
 // RUN:   touch %t.o
 // RUN:   %clang -### -target powerpc64le-unknown-linux-gnu -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda \
-// RUN:          -no-canonical-prefixes -save-temps %t.o %S/Inputs/in.so 2>&1 \
+// RUN:          -no-canonical-prefixes -save-temps %t.o 2>&1 \
 // RUN:   | FileCheck -check-prefix=CHK-CUBIN-UNBUNDLING-NVLINK %s
 
 /// Use DAG to ensure that cubin file has been unbundled.
-// CHK-CUBIN-UNBUNDLING-NVLINK-NOT: clang-offload-bundler{{.*}}" "-type=o"{{.*}}in.so
 // CHK-CUBIN-UNBUNDLING-NVLINK-DAG: nvlink{{.*}}" {{.*}}"[[CUBIN:.*\.cubin]]"
 // CHK-CUBIN-UNBUNDLING-NVLINK-DAG: clang-offload-bundler{{.*}}" "-type=o" {{.*}}"-outputs={{.*}}[[CUBIN]]
 // CHK-CUBIN-UNBUNDLING-NVLINK-DAG-SAME: "-unbundle"
-// CHK-CUBIN-UNBUNDLING-NVLINK-NOT: clang-offload-bundler{{.*}}" "-type=o"{{.*}}in.so
 
 /// ###########################################################################
 
index d2109df0386921374278b7ed38c61826f36f4251..af5a527d5179285d6c417df19f6828ebbd1e2bf8 100644 (file)
 /// ###########################################################################
 
 /// Check separate compilation with offloading - bundling actions
-// RUN:   %clang -### -ccc-print-phases -fopenmp=libomp -c -o %t.o  %S/Input/in.so -lsomelib -target powerpc64le-linux -fopenmp-targets=powerpc64le-ibm-linux-gnu,x86_64-pc-linux-gnu %s -no-canonical-prefixes 2>&1 \
+// RUN:   %clang -### -ccc-print-phases -fopenmp=libomp -c -o %t.o -lsomelib -target powerpc64le-linux -fopenmp-targets=powerpc64le-ibm-linux-gnu,x86_64-pc-linux-gnu %s -no-canonical-prefixes 2>&1 \
 // RUN:   | FileCheck -check-prefix=CHK-BUACTIONS %s
 
 // CHK-BUACTIONS: 0: input, "[[INPUT:.+\.c]]", c, (host-openmp)