28 lines
586 B
LLVM
28 lines
586 B
LLVM
; RUN: opt -passes=globalopt -S < %s | FileCheck %s
|
|
|
|
; CHECK-NOT: @global
|
|
|
|
@global = internal global ptr null
|
|
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @zot, ptr null }]
|
|
|
|
declare ptr @_Znwm(i64)
|
|
|
|
define internal void @widget() {
|
|
%tmp = tail call ptr @_Znwm(i64 0)
|
|
store ptr %tmp, ptr @global, align 8
|
|
call void @baz(ptr @spam)
|
|
ret void
|
|
}
|
|
|
|
define internal void @spam() {
|
|
%tmp = load ptr, ptr @global, align 8
|
|
ret void
|
|
}
|
|
|
|
define internal void @zot() {
|
|
call void @baz(ptr @widget)
|
|
ret void
|
|
}
|
|
|
|
declare void @baz(ptr)
|
|
|