diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2014-10-08 07:23:31 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2014-10-08 07:23:31 +0000 |
| commit | 1b3b70e371d10ec9a1272bd10f7e08d43e63b511 (patch) | |
| tree | cc1162a0e626dfd12a80e43ae07fdc73079227b7 /llvm/test/Transforms | |
| parent | e2ff5b9223b9da46fbdbae2877dd6de91d3cc133 (diff) | |
| download | bcm5719-llvm-1b3b70e371d10ec9a1272bd10f7e08d43e63b511.tar.gz bcm5719-llvm-1b3b70e371d10ec9a1272bd10f7e08d43e63b511.zip | |
GlobalOpt: Don't drop unused memberes of a Comdat
A linkonce_odr member of a COMDAT shouldn't be dropped if we need to
keep the entire COMDAT group.
This fixes PR21191.
llvm-svn: 219283
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/GlobalOpt/pr21191.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/Transforms/GlobalOpt/pr21191.ll b/llvm/test/Transforms/GlobalOpt/pr21191.ll new file mode 100644 index 00000000000..39b8eee9a25 --- /dev/null +++ b/llvm/test/Transforms/GlobalOpt/pr21191.ll @@ -0,0 +1,19 @@ +; RUN: opt < %s -globalopt -S | FileCheck %s + +$c = comdat any +; CHECK: $c = comdat any + +define linkonce_odr void @foo() comdat $c { + ret void +} +; CHECK: define linkonce_odr void @foo() comdat $c + +define linkonce_odr void @bar() comdat $c { + ret void +} +; CHECK: define linkonce_odr void @bar() comdat $c + +define void @zed() { + call void @foo() + ret void +} |

