diff options
Diffstat (limited to 'llvm/test/Transforms/GlobalOpt')
| -rw-r--r-- | llvm/test/Transforms/GlobalOpt/globalsra.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/Transforms/GlobalOpt/globalsra.ll b/llvm/test/Transforms/GlobalOpt/globalsra.ll index d593fcd9e15..7d43c382d9e 100644 --- a/llvm/test/Transforms/GlobalOpt/globalsra.ll +++ b/llvm/test/Transforms/GlobalOpt/globalsra.ll @@ -22,3 +22,24 @@ define double @constantize() { ret double %X } +@G2 = internal constant { i32, float, { double } } { + i32 1, + float 1.000000e+00, + { double } { double 1.727000e+01 } } ; <{ i32, float, { double } }*> [#uses=3] + +define void @onlystore2() { + store i32 123, i32* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G2, i32 0, i32 0) + ret void +} + +define float @storeinit2() { + store float 1.000000e+00, float* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G2, i32 0, i32 1) + %X = load float, float* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G2, i32 0, i32 1) ; <float> [#uses=1] + ret float %X +} + +define double @constantize2() { + %X = load double, double* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G2, i32 0, i32 2, i32 0) ; <double> [#uses=1] + ret double %X +} + |

