; RUN: opt < %s -globalopt -S | not grep global
target 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"

@G = internal global { i32, float, { double } } {
    i32 1, 
    float 1.000000e+00, 
    { double } { double 1.727000e+01 } }                ; <{ i32, float, { double } }*> [#uses=3]

define void @onlystore() {
        store i32 123, i32* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 0)
        ret void
}

define float @storeinit() {
        store float 1.000000e+00, float* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 1)
        %X = load float* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 1)           ; <float> [#uses=1]
        ret float %X
}

define double @constantize() {
        %X = load double* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 2, i32 0)           ; <double> [#uses=1]
        ret double %X
}

