blob: 3bb5ce92d0820ee20a8dfab472bcf20049b89b39 [file] [log] [blame]
Chris Lattnerb503cc42005-02-27 18:48:19 +00001; both globals are write only, delete them.
2
Chris Lattnerb85e4eb2011-06-18 06:05:24 +00003; RUN: opt < %s -globalopt -S | not grep internal
Reid Spencer2aabd072007-04-15 08:30:33 +00004
Tanya Lattnerec9a35a2008-03-01 09:15:35 +00005@G0 = internal global [58 x i8] c"asdlfkajsdlfkajsd;lfkajds;lfkjasd;flkajsd;lkfja;sdlkfjasd\00" ; <[58 x i8]*> [#uses=1]
6@G1 = internal global [4 x i32] [ i32 1, i32 2, i32 3, i32 4 ] ; <[4 x i32]*> [#uses=1]
Chris Lattnerb503cc42005-02-27 18:48:19 +00007
Tanya Lattnerec9a35a2008-03-01 09:15:35 +00008define void @foo() {
Chris Lattnerb85e4eb2011-06-18 06:05:24 +00009 %Blah = alloca [58 x i8]
10 %tmp3 = bitcast [58 x i8]* %Blah to i8*
11 call void @llvm.memcpy.p0i8.p0i8.i32(i8* bitcast ([4 x i32]* @G1 to i8*), i8* %tmp3, i32 16, i32 1, i1 false)
12 call void @llvm.memset.p0i8.i32(i8* getelementptr inbounds ([58 x i8]* @G0, i32 0, i32 0), i8 17, i32 58, i32 1, i1 false)
13 ret void
Chris Lattnerb503cc42005-02-27 18:48:19 +000014}
15
Chris Lattnerb85e4eb2011-06-18 06:05:24 +000016declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind
Chris Lattnerb503cc42005-02-27 18:48:19 +000017
Chris Lattnerb85e4eb2011-06-18 06:05:24 +000018declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind