; RUN: opt < %s -S -passes=globalopt | FileCheck %s

; This global is externally_initialized, which may modify the value between
; it's static initializer and any code in this module being run, so the only
; write to it cannot be merged into the static initialiser.
; CHECK: @a = internal unnamed_addr externally_initialized global i32 undef
@a = internal externally_initialized global i32 undef

; This global is stored to by the external initialization, so cannot be
; constant-propagated and removed, despite the fact that there are no writes
; to it.
; CHECK: @b = internal unnamed_addr externally_initialized global i32 undef
@b = internal externally_initialized global i32 undef


define void @foo() {
; CHECK-LABEL: foo
entry:
; CHECK: store i32 42, i32* @a
  store i32 42, i32* @a
  ret void
}
define i32 @bar() {
; CHECK-LABEL: bar
entry:
; CHECK: %val = load i32, i32* @a
  %val = load i32, i32* @a
  ret i32 %val
}

define i32 @baz() {
; CHECK-LABEL: baz
entry:
; CHECK: %val = load i32, i32* @b
  %val = load i32, i32* @b
  ret i32 %val
}
