diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-11-29 15:52:12 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-11-29 15:52:12 +0000 |
| commit | 3f85d24df431d29743366f365c444934b3fe391f (patch) | |
| tree | 51e6ff979ea5aff1c34e604933b55322fc6d694f /llvm/test/tools | |
| parent | c73fdcd1b7d1a81af72ecaf42b9e79d53f2ac2b2 (diff) | |
| download | bcm5719-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.ll | 9 | ||||
| -rw-r--r-- | llvm/test/tools/gold/X86/comdat2.ll | 19 |
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() |

