|
@@ -156,14 +156,20 @@
|
|
// RUN: diff %t.i %t.res.i
|
|
// RUN: diff %t.i %t.res.i
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
|
|
+// RUN: clang-offload-bundler -type=i -targets=openmp-powerpc64le-ibm-linux-gnu -outputs=%t.res.tgt1 -inputs=%t.bundle3.i -unbundle
|
|
|
|
+// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: clang-offload-bundler -type=ii -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.ii,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bundle3.ii -unbundle
|
|
// RUN: clang-offload-bundler -type=ii -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.ii,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bundle3.ii -unbundle
|
|
// RUN: diff %t.ii %t.res.ii
|
|
// RUN: diff %t.ii %t.res.ii
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
|
|
+// RUN: clang-offload-bundler -type=ii -targets=openmp-x86_64-pc-linux-gnu -outputs=%t.res.tgt2 -inputs=%t.bundle3.ii -unbundle
|
|
|
|
+// RUN: diff %t.tgt2 %t.res.tgt2
|
|
// RUN: clang-offload-bundler -type=ll -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.ll,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bundle3.ll -unbundle
|
|
// RUN: clang-offload-bundler -type=ll -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.ll,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bundle3.ll -unbundle
|
|
// RUN: diff %t.ll %t.res.ll
|
|
// RUN: diff %t.ll %t.res.ll
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
|
|
+// RUN: clang-offload-bundler -type=ll -targets=openmp-powerpc64le-ibm-linux-gnu -outputs=%t.res.tgt1 -inputs=%t.bundle3.ll -unbundle
|
|
|
|
+// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: clang-offload-bundler -type=s -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.s,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bundle3.s -unbundle
|
|
// RUN: clang-offload-bundler -type=s -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.s,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bundle3.s -unbundle
|
|
// RUN: diff %t.s %t.res.s
|
|
// RUN: diff %t.s %t.res.s
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
@@ -172,6 +178,8 @@
|
|
// RUN: diff %t.s %t.res.s
|
|
// RUN: diff %t.s %t.res.s
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
|
|
+// RUN: clang-offload-bundler -type=s -targets=openmp-x86_64-pc-linux-gnu -outputs=%t.res.tgt2 -inputs=%t.bundle3.s -unbundle
|
|
|
|
+// RUN: diff %t.tgt2 %t.res.tgt2
|
|
|
|
|
|
// Check if we can unbundle a file with no magic strings.
|
|
// Check if we can unbundle a file with no magic strings.
|
|
// RUN: clang-offload-bundler -type=s -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.s,%t.res.tgt1,%t.res.tgt2 -inputs=%t.s -unbundle
|
|
// RUN: clang-offload-bundler -type=s -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.s,%t.res.tgt1,%t.res.tgt2 -inputs=%t.s -unbundle
|
|
@@ -183,6 +191,10 @@
|
|
// RUN: diff %t.empty %t.res.tgt1
|
|
// RUN: diff %t.empty %t.res.tgt1
|
|
// RUN: diff %t.empty %t.res.tgt2
|
|
// RUN: diff %t.empty %t.res.tgt2
|
|
|
|
|
|
|
|
+// Check that bindler prints an error if given host bundle does not exist in the fat binary.
|
|
|
|
+// RUN: not clang-offload-bundler -type=s -targets=host-x86_64-xxx-linux-gnu,openmp-powerpc64le-ibm-linux-gnu -outputs=%t.res.s,%t.res.tgt1 -inputs=%t.bundle3.s -unbundle 2>&1 | FileCheck %s --check-prefix CK-NO-HOST-BUNDLE
|
|
|
|
+// CK-NO-HOST-BUNDLE: error: Can't find bundle for the host target
|
|
|
|
+
|
|
//
|
|
//
|
|
// Check binary bundle/unbundle. The content that we have before bundling must be the same we have after unbundling.
|
|
// Check binary bundle/unbundle. The content that we have before bundling must be the same we have after unbundling.
|
|
//
|
|
//
|
|
@@ -194,10 +206,14 @@
|
|
// RUN: diff %t.bc %t.res.bc
|
|
// RUN: diff %t.bc %t.res.bc
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
|
|
+// RUN: clang-offload-bundler -type=bc -targets=openmp-powerpc64le-ibm-linux-gnu -outputs=%t.res.tgt1 -inputs=%t.bundle3.bc -unbundle
|
|
|
|
+// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: clang-offload-bundler -type=gch -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.gch,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bundle3.gch -unbundle
|
|
// RUN: clang-offload-bundler -type=gch -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.gch,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bundle3.gch -unbundle
|
|
// RUN: diff %t.ast %t.res.gch
|
|
// RUN: diff %t.ast %t.res.gch
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
|
|
+// RUN: clang-offload-bundler -type=gch -targets=openmp-x86_64-pc-linux-gnu -outputs=%t.res.tgt2 -inputs=%t.bundle3.gch -unbundle
|
|
|
|
+// RUN: diff %t.tgt2 %t.res.tgt2
|
|
// RUN: clang-offload-bundler -type=ast -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.ast,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bundle3.ast -unbundle
|
|
// RUN: clang-offload-bundler -type=ast -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.ast,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bundle3.ast -unbundle
|
|
// RUN: diff %t.ast %t.res.ast
|
|
// RUN: diff %t.ast %t.res.ast
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
@@ -210,6 +226,8 @@
|
|
// RUN: diff %t.ast %t.res.ast
|
|
// RUN: diff %t.ast %t.res.ast
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
|
|
+// RUN: clang-offload-bundler -type=ast -targets=openmp-powerpc64le-ibm-linux-gnu -outputs=%t.res.tgt1 -inputs=%t.bundle3.ast -unbundle
|
|
|
|
+// RUN: diff %t.tgt1 %t.res.tgt1
|
|
|
|
|
|
// Check if we can unbundle a file with no magic strings.
|
|
// Check if we can unbundle a file with no magic strings.
|
|
// RUN: clang-offload-bundler -type=bc -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.bc,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bc -unbundle
|
|
// RUN: clang-offload-bundler -type=bc -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.bc,%t.res.tgt1,%t.res.tgt2 -inputs=%t.bc -unbundle
|
|
@@ -247,6 +265,8 @@
|
|
// RUN: diff %t.o %t.res.o
|
|
// RUN: diff %t.o %t.res.o
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt1 %t.res.tgt1
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
// RUN: diff %t.tgt2 %t.res.tgt2
|
|
|
|
+// RUN: clang-offload-bundler -type=o -targets=openmp-powerpc64le-ibm-linux-gnu -outputs=%t.res.tgt1 -inputs=%t.bundle3.o -unbundle
|
|
|
|
+// RUN: diff %t.tgt1 %t.res.tgt1
|
|
|
|
|
|
// Check if we can unbundle a file with no magic strings.
|
|
// Check if we can unbundle a file with no magic strings.
|
|
// RUN: clang-offload-bundler -type=o -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.o,%t.res.tgt1,%t.res.tgt2 -inputs=%t.o -unbundle
|
|
// RUN: clang-offload-bundler -type=o -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -outputs=%t.res.o,%t.res.tgt1,%t.res.tgt2 -inputs=%t.o -unbundle
|