blob: 8df7050b38a76ef32b4901f0de42b0a6ef9818d8 [file] [log] [blame]
Chandler Carrutha5a29f92012-07-02 12:47:22 +00001; RUN: opt < %s -globalopt -S | grep "16 x .31 x double.. zeroinitializer"
Chris Lattner26fe7eb2008-01-14 02:09:12 +00002
3; The 'X' indices could be larger than 31. Do not SROA the outer indices of this array.
4@mm = internal global [16 x [31 x double]] zeroinitializer, align 32
5
6define void @test(i32 %X) {
David Blaikie79e6c742015-02-27 19:29:02 +00007 %P = getelementptr [16 x [31 x double]], [16 x [31 x double]]* @mm, i32 0, i32 0, i32 %X
Chris Lattner26fe7eb2008-01-14 02:09:12 +00008 store double 1.0, double* %P
9 ret void
10}
11
12define double @get(i32 %X) {
David Blaikie79e6c742015-02-27 19:29:02 +000013 %P = getelementptr [16 x [31 x double]], [16 x [31 x double]]* @mm, i32 0, i32 0, i32 %X
David Blaikiea79ac142015-02-27 21:17:42 +000014 %V = load double, double* %P
Chris Lattner26fe7eb2008-01-14 02:09:12 +000015 ret double %V
16}