summaryrefslogtreecommitdiffstats
path: root/llvm/test/Linker
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2016-04-21 14:56:33 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2016-04-21 14:56:33 +0000
commit15ca14c0b9f750caca034de96f0e980b7fa8b5c9 (patch)
tree3a5ca1eba490d88c930977f432d14e6658b66da9 /llvm/test/Linker
parentbf8b5f8dd2331870ee4ca0a3e242b98903293631 (diff)
downloadbcm5719-llvm-15ca14c0b9f750caca034de96f0e980b7fa8b5c9.tar.gz
bcm5719-llvm-15ca14c0b9f750caca034de96f0e980b7fa8b5c9.zip
Fix recursive -only-needed.
We were assuming that only linkonce_odr GVs were lazy linked. llvm-svn: 266995
Diffstat (limited to 'llvm/test/Linker')
-rw-r--r--llvm/test/Linker/Inputs/only-needed-recurse.ll8
-rw-r--r--llvm/test/Linker/only-needed-recurse.ll11
2 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/Linker/Inputs/only-needed-recurse.ll b/llvm/test/Linker/Inputs/only-needed-recurse.ll
new file mode 100644
index 00000000000..423c9d53e9d
--- /dev/null
+++ b/llvm/test/Linker/Inputs/only-needed-recurse.ll
@@ -0,0 +1,8 @@
+define void @f2() {
+ call void @f3()
+ ret void
+}
+
+define void @f3() {
+ ret void
+}
diff --git a/llvm/test/Linker/only-needed-recurse.ll b/llvm/test/Linker/only-needed-recurse.ll
new file mode 100644
index 00000000000..dcb99e91eef
--- /dev/null
+++ b/llvm/test/Linker/only-needed-recurse.ll
@@ -0,0 +1,11 @@
+; RUN: llvm-link -S -only-needed %s %p/Inputs/only-needed-recurse.ll | FileCheck %s
+
+declare void @f2()
+
+define void @f1() {
+ call void @f2()
+ ret void
+}
+
+; CHECK: define void @f3
+
OpenPOWER on IntegriCloud