Dan Gohman | 3c7d308 | 2009-09-11 18:01:28 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -scalarrepl -S | grep {alloca %T} |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 2 | |
Chris Lattner | 69b7023 | 2009-03-01 00:26:51 +0000 | [diff] [blame] | 3 | %T = type { [80 x i8], i32, i32 } |
Tanya Lattner | 307f46e | 2008-03-18 04:14:37 +0000 | [diff] [blame] | 4 | declare i32 @.callback_1(i8*) |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 5 | |
Tanya Lattner | 307f46e | 2008-03-18 04:14:37 +0000 | [diff] [blame] | 6 | declare void @.iter_2(i32 (i8*)*, i8*) |
| 7 | |
| 8 | define i32 @main() { |
| 9 | %d = alloca { [80 x i8], i32, i32 } ; <{ [80 x i8], i32, i32 }*> [#uses=2] |
| 10 | %tmp.0 = getelementptr { [80 x i8], i32, i32 }* %d, i64 0, i32 2 ; <i32*> [#uses=1] |
| 11 | store i32 0, i32* %tmp.0 |
| 12 | %tmp.1 = getelementptr { [80 x i8], i32, i32 }* %d, i64 0, i32 0, i64 0 ; <i8*> [#uses=1] |
| 13 | call void @.iter_2( i32 (i8*)* @.callback_1, i8* %tmp.1 ) |
| 14 | ret i32 0 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 15 | } |
Tanya Lattner | 307f46e | 2008-03-18 04:14:37 +0000 | [diff] [blame] | 16 | |