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