; This testcase tests that a worklist is being used, and that globals can be 
; removed if they are the subject of a constexpr and ConstantPointerRef

; RUN: opt < %s -globaldce -S | not grep global

@t0 = internal global [4 x i8] c"foo\00"                ; <[4 x i8]*> [#uses=1]
@t1 = internal global [4 x i8] c"bar\00"                ; <[4 x i8]*> [#uses=1]
@s1 = internal global [1 x i8*] [ i8* getelementptr ([4 x i8]* @t0, i32 0, i32 0) ]             ; <[1 x i8*]*> [#uses=0]
@s2 = internal global [1 x i8*] [ i8* getelementptr ([4 x i8]* @t1, i64 0, i64 0) ]             ; <[1 x i8*]*> [#uses=0]
@b = internal global i32* @a            ; <i32**> [#uses=0]
@a = internal global i32 7              ; <i32*> [#uses=1]

