blob: d593fcd9e15e7e92b521186162bd176df0bd6002 [file] [log] [blame]
Dan Gohman72a13d22009-09-08 22:34:10 +00001; RUN: opt < %s -globalopt -S | not grep global
Kenneth Uildriks90fedc62009-11-03 15:29:06 +00002target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
Chris Lattner6935f562004-10-08 17:29:47 +00003
Tanya Lattner5640bd12008-03-01 09:15:35 +00004@G = internal global { i32, float, { double } } {
5 i32 1,
6 float 1.000000e+00,
7 { double } { double 1.727000e+01 } } ; <{ i32, float, { double } }*> [#uses=3]
Chris Lattner6935f562004-10-08 17:29:47 +00008
Tanya Lattner5640bd12008-03-01 09:15:35 +00009define void @onlystore() {
David Blaikief72d05b2015-03-13 18:20:45 +000010 store i32 123, i32* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G, i32 0, i32 0)
Tanya Lattner5640bd12008-03-01 09:15:35 +000011 ret void
Chris Lattner6935f562004-10-08 17:29:47 +000012}
13
Tanya Lattner5640bd12008-03-01 09:15:35 +000014define float @storeinit() {
David Blaikief72d05b2015-03-13 18:20:45 +000015 store float 1.000000e+00, float* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G, i32 0, i32 1)
16 %X = load float, float* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G, i32 0, i32 1) ; <float> [#uses=1]
Tanya Lattner5640bd12008-03-01 09:15:35 +000017 ret float %X
Chris Lattner6935f562004-10-08 17:29:47 +000018}
19
Tanya Lattner5640bd12008-03-01 09:15:35 +000020define double @constantize() {
David Blaikief72d05b2015-03-13 18:20:45 +000021 %X = load double, double* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G, i32 0, i32 2, i32 0) ; <double> [#uses=1]
Tanya Lattner5640bd12008-03-01 09:15:35 +000022 ret double %X
Chris Lattner6935f562004-10-08 17:29:47 +000023}
Tanya Lattner5640bd12008-03-01 09:15:35 +000024