summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/thinlto-distributed-backend-skip.ll
diff options
context:
space:
mode:
authorVitaly Buka <vitalybuka@google.com>2018-02-16 23:38:22 +0000
committerVitaly Buka <vitalybuka@google.com>2018-02-16 23:38:22 +0000
commit769134dac3f1968495f7341882e6e7c719545ead (patch)
treeefcbd618079ef6af5bbd465d08ad7233d81e19e7 /clang/test/CodeGen/thinlto-distributed-backend-skip.ll
parentc35ff824de59904ff7cc8c93620feacae7947c3b (diff)
downloadbcm5719-llvm-769134dac3f1968495f7341882e6e7c719545ead.tar.gz
bcm5719-llvm-769134dac3f1968495f7341882e6e7c719545ead.zip
[ThinLTO] Allow indexing to request backend to ignore the module
Summary: Gold plugin does not add pass to ThinLTO modules without useful symbols. In this case ThinLTO can't create corresponding index file and some features, like CFI, cannot be processes by backed correctly without index. Given that we don't need the backed output we can request it to avoid processing the module. This is implemented by this patch using new "SkipModuleByDistributedBackend" flag. Reviewers: pcc, tejohnson Subscribers: mehdi_amini, inglorion, eraman, cfe-commits Differential Revision: https://reviews.llvm.org/D42995 llvm-svn: 325411
Diffstat (limited to 'clang/test/CodeGen/thinlto-distributed-backend-skip.ll')
-rw-r--r--clang/test/CodeGen/thinlto-distributed-backend-skip.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/test/CodeGen/thinlto-distributed-backend-skip.ll b/clang/test/CodeGen/thinlto-distributed-backend-skip.ll
new file mode 100644
index 00000000000..d9fa47d23df
--- /dev/null
+++ b/clang/test/CodeGen/thinlto-distributed-backend-skip.ll
@@ -0,0 +1,21 @@
+; REQUIRES: x86-registered-target
+
+; Check that ThinLTO backend respects "SkipModuleByDistributedBackend"
+; flag which can be set by indexing.
+
+; RUN: opt -thinlto-bc -o %t.o %s
+
+; RUN: %clang_cc1 -triple x86_64-grtev4-linux-gnu \
+; RUN: -fthinlto-index=%S/Inputs/thinlto-distributed-backend-skip.bc \
+; RUN: -emit-llvm -o - -x ir %t.o | FileCheck %s
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-grtev4-linux-gnu"
+
+; CHECK: "empty"
+; CHECK: target triple =
+; CHECK-NOT: @main
+define i32 @main() {
+entry:
+ ret i32 0
+}
OpenPOWER on IntegriCloud