aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/ScalarRepl/2003-10-29-ArrayProblem.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/ScalarRepl/2003-10-29-ArrayProblem.ll')
-rw-r--r--test/Transforms/ScalarRepl/2003-10-29-ArrayProblem.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/Transforms/ScalarRepl/2003-10-29-ArrayProblem.ll b/test/Transforms/ScalarRepl/2003-10-29-ArrayProblem.ll
new file mode 100644
index 0000000..24e6a31
--- /dev/null
+++ b/test/Transforms/ScalarRepl/2003-10-29-ArrayProblem.ll
@@ -0,0 +1,16 @@
+; RUN: opt < %s -scalarrepl -S | grep {alloca %T}
+
+%T = type { [80 x i8], i32, i32 }
+declare i32 @.callback_1(i8*)
+
+declare void @.iter_2(i32 (i8*)*, i8*)
+
+define i32 @main() {
+ %d = alloca { [80 x i8], i32, i32 } ; <{ [80 x i8], i32, i32 }*> [#uses=2]
+ %tmp.0 = getelementptr { [80 x i8], i32, i32 }* %d, i64 0, i32 2 ; <i32*> [#uses=1]
+ store i32 0, i32* %tmp.0
+ %tmp.1 = getelementptr { [80 x i8], i32, i32 }* %d, i64 0, i32 0, i64 0 ; <i8*> [#uses=1]
+ call void @.iter_2( i32 (i8*)* @.callback_1, i8* %tmp.1 )
+ ret i32 0
+}
+