llvm/test/Transforms/GlobalOpt/deadglobal.ll
Rafael Espindola 0397729d3b Implement the isSafeToDiscardIfUnused predicate and use it in globalopt and
globaldce. Globaldce was already removing linkonce globals, but globalopt was
not.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158476 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-14 22:48:13 +00:00

26 lines
461 B
LLVM

; RUN: opt < %s -globalopt -S | FileCheck %s
@G1 = internal global i32 123 ; <i32*> [#uses=1]
; CHECK-NOT: @G1
; CHECK: @G2
; CHECK-NOT: @G3
define void @foo1() {
; CHECK: define void @foo
; CHECK-NEXT: ret
store i32 1, i32* @G1
ret void
}
@G2 = linkonce_odr constant i32 42
define void @foo2() {
; CHECK: define void @foo2
; CHECK-NEXT: store
store i32 1, i32* @G2
ret void
}
@G3 = linkonce_odr constant i32 42