summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2016-06-22 00:57:26 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2016-06-22 00:57:26 +0000
commit91227f2195ba6bbdcfee1e65bcc62d68f3e1b848 (patch)
treebb4b87fbb84332589c16824c41d907b7c741aa16
parentd2ada2ea5dee378aa21a7c9b90c4c3dc5704d0ac (diff)
downloadbcm5719-llvm-91227f2195ba6bbdcfee1e65bcc62d68f3e1b848.tar.gz
bcm5719-llvm-91227f2195ba6bbdcfee1e65bcc62d68f3e1b848.zip
CodeGen: Replace test/CodeGen/thinlto_backend.c with a functional test.
This new test tests that functions are capable of being imported, rather than that the import pass is run. This new test is compatible with the approach being developed in D20268 which runs the importer on its own rather than in a pass. Differential Revision: http://reviews.llvm.org/D21542 llvm-svn: 273347
-rw-r--r--clang/test/CodeGen/Inputs/thinlto_backend.ll6
-rw-r--r--clang/test/CodeGen/thinlto_backend.c14
-rw-r--r--clang/test/CodeGen/thinlto_backend.ll27
3 files changed, 33 insertions, 14 deletions
diff --git a/clang/test/CodeGen/Inputs/thinlto_backend.ll b/clang/test/CodeGen/Inputs/thinlto_backend.ll
new file mode 100644
index 00000000000..78678c0c5ad
--- /dev/null
+++ b/clang/test/CodeGen/Inputs/thinlto_backend.ll
@@ -0,0 +1,6 @@
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+define void @f2() {
+ ret void
+}
diff --git a/clang/test/CodeGen/thinlto_backend.c b/clang/test/CodeGen/thinlto_backend.c
deleted file mode 100644
index a2737fb80c7..00000000000
--- a/clang/test/CodeGen/thinlto_backend.c
+++ /dev/null
@@ -1,14 +0,0 @@
-// RUN: %clang -O2 %s -flto=thin -c -o %t.o
-// RUN: llvm-lto -thinlto -o %t %t.o
-
-// Ensure clang -cc1 give expected error for incorrect input type
-// RUN: not %clang_cc1 -O2 -o %t1.o %s -c -fthinlto-index=%t.thinlto.bc 2>&1 | FileCheck %s -check-prefix=CHECK-WARNING
-// CHECK-WARNING: error: invalid argument '-fthinlto-index={{.*}}' only allowed with '-x ir'
-
-// Ensure we get expected error for missing index file
-// RUN: %clang -O2 -o %t1.o -x ir %t.o -c -fthinlto-index=bad.thinlto.bc 2>&1 | FileCheck %s -check-prefix=CHECK-ERROR
-// CHECK-ERROR: Error loading index file 'bad.thinlto.bc'
-
-// Ensure Function Importing pass added
-// RUN: %clang -O2 -o %t1.o -x ir %t.o -c -fthinlto-index=%t.thinlto.bc -mllvm -debug-pass=Structure 2>&1 | FileCheck %s -check-prefix=CHECK-PASS
-// CHECK-PASS: Function Importing
diff --git a/clang/test/CodeGen/thinlto_backend.ll b/clang/test/CodeGen/thinlto_backend.ll
new file mode 100644
index 00000000000..d9d59a239a8
--- /dev/null
+++ b/clang/test/CodeGen/thinlto_backend.ll
@@ -0,0 +1,27 @@
+; RUN: opt -module-summary -o %t1.o %s
+; RUN: opt -module-summary -o %t2.o %S/Inputs/thinlto_backend.ll
+; RUN: llvm-lto -thinlto -o %t %t1.o %t2.o
+
+; Ensure clang -cc1 give expected error for incorrect input type
+; RUN: not %clang_cc1 -O2 -o %t1.o -x c %s -c -fthinlto-index=%t.thinlto.bc 2>&1 | FileCheck %s -check-prefix=CHECK-WARNING
+; CHECK-WARNING: error: invalid argument '-fthinlto-index={{.*}}' only allowed with '-x ir'
+
+; Ensure we get expected error for missing index file
+; RUN: %clang -O2 -o %t3.o -x ir %t1.o -c -fthinlto-index=bad.thinlto.bc 2>&1 | FileCheck %s -check-prefix=CHECK-ERROR
+; CHECK-ERROR: Error loading index file 'bad.thinlto.bc'
+
+; Ensure f2 was imported
+; RUN: %clang -O2 -o %t3.o -x ir %t1.o -c -fthinlto-index=%t.thinlto.bc
+; RUN: llvm-nm %t3.o | FileCheck --check-prefix=CHECK-OBJ %s
+; CHECK-OBJ: T f1
+; CHECK-OBJ-NOT: U f2
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+declare void @f2()
+
+define void @f1() {
+ call void @f2()
+ ret void
+}
OpenPOWER on IntegriCloud