From 1b3b70e371d10ec9a1272bd10f7e08d43e63b511 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Wed, 8 Oct 2014 07:23:31 +0000 Subject: 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 --- llvm/test/Transforms/GlobalOpt/pr21191.ll | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 llvm/test/Transforms/GlobalOpt/pr21191.ll (limited to 'llvm/test/Transforms') 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 +} -- cgit v1.2.3