blob: 8f34540217d6ac5f000928e9f39db755b5c4222c [file]
; RUN: opt < %s -passes=globalopt -S | FileCheck %s
; Make sure we don't put a non-zero initializer into BSS
; CHECK: @_ZL3obj = internal global %struct.Holder zeroinitializer, section ".bss", align 8
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%struct.Holder = type { ptr }
@_ZL3obj = internal global %struct.Holder zeroinitializer, section ".bss", align 8
@_ZL5table = internal constant [1 x i32] [i32 7], align 4
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @_ZL4initv, ptr null }]
@llvm.compiler.used = appending global [1 x ptr] [ptr @_ZL3obj], section "llvm.metadata"
; Function Attrs: mustprogress nounwind uwtable
define internal void @_ZL4initv() #0 {
entry:
store ptr @_ZL5table, ptr @_ZL3obj, align 8
ret void
}
define dso_local noundef i32 @main() {
ret i32 0
}