summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-11-29 15:52:12 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-11-29 15:52:12 +0000
commit3f85d24df431d29743366f365c444934b3fe391f (patch)
tree51e6ff979ea5aff1c34e604933b55322fc6d694f /llvm/test/tools
parentc73fdcd1b7d1a81af72ecaf42b9e79d53f2ac2b2 (diff)
downloadbcm5719-llvm-3f85d24df431d29743366f365c444934b3fe391f.tar.gz
bcm5719-llvm-3f85d24df431d29743366f365c444934b3fe391f.zip
Add a passing test.
When a comdat is discarded, any globals defined in it become undefined. llvm-svn: 254258
Diffstat (limited to 'llvm/test/tools')
-rw-r--r--llvm/test/tools/gold/X86/Inputs/comdat2.ll9
-rw-r--r--llvm/test/tools/gold/X86/comdat2.ll19
2 files changed, 28 insertions, 0 deletions
diff --git a/llvm/test/tools/gold/X86/Inputs/comdat2.ll b/llvm/test/tools/gold/X86/Inputs/comdat2.ll
new file mode 100644
index 00000000000..5b7f74cf0b2
--- /dev/null
+++ b/llvm/test/tools/gold/X86/Inputs/comdat2.ll
@@ -0,0 +1,9 @@
+$foo = comdat any
+@foo = global i8 1, comdat
+define void @zed() {
+ call void @bar()
+ ret void
+}
+define void @bar() comdat($foo) {
+ ret void
+}
diff --git a/llvm/test/tools/gold/X86/comdat2.ll b/llvm/test/tools/gold/X86/comdat2.ll
new file mode 100644
index 00000000000..2156efd207b
--- /dev/null
+++ b/llvm/test/tools/gold/X86/comdat2.ll
@@ -0,0 +1,19 @@
+; RUN: llvm-as %s -o %t.bc
+; RUN: llvm-as %p/Inputs/comdat2.ll -o %t2.bc
+; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so \
+; RUN: --plugin-opt=emit-llvm \
+; RUN: -shared %t.bc %t2.bc -o %t3.bc
+; RUN: llvm-dis %t3.bc -o - | FileCheck %s
+
+
+$foo = comdat any
+@foo = global i8 0, comdat
+
+; CHECK: @foo = global i8 0, comdat
+
+; CHECK: define void @zed() {
+; CHECK: call void @bar()
+; CHECK: ret void
+; CHECK: }
+
+; CHECK: declare void @bar()
OpenPOWER on IntegriCloud