From 7894d56023028dffb68212214b27d5f4d6c5bc91 Mon Sep 17 00:00:00 2001
From: "Vikram S. Adve" <vadve@cs.uiuc.edu>
Date: Sun, 4 Aug 2002 20:53:14 +0000
Subject: [PATCH] Add a sequence  of GEPs with constant indices, for folding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3247 91177308-0d34-0410-b5e6-96231b3b80d8
---
 test/CodeGen/Generic/constindices.ll | 6 ++++++
 test/LLC/constindices.ll             | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/test/CodeGen/Generic/constindices.ll b/test/CodeGen/Generic/constindices.ll
index 0b8ef913465..d6c8658aab5 100644
--- a/test/CodeGen/Generic/constindices.ll
+++ b/test/CodeGen/Generic/constindices.ll
@@ -27,6 +27,12 @@ begin
 	store float 3.1415, float* %fptrA
 	store float 5.0,    float* %fptrB
 	
+	;; Test that a sequence of GEPs with constant indices are folded right
+	%fptrA1 = getelementptr %MixedA* %ArrayA, uint 3	  ; &ArrayA[3]
+	%fptrA2 = getelementptr %MixedA* %fptrA1, uint 0, ubyte 1 ; &(*fptrA1).1
+	%fptrA3 = getelementptr [15 x int]* %fptrA2, uint 0, uint 8 ; &(*fptrA2)[8]
+	store int 5, int* %fptrA3	; ArrayA[3].1[8] = 5
+
 	%sqrtTwo = load %MixedA* %ScalarA, uint 0, ubyte 0 
 	%exp     = load %MixedB* %ScalarB, uint 0, ubyte 1, ubyte 0 
 	%pi      = load %MixedA* %ArrayA, uint 1, ubyte 0 
diff --git a/test/LLC/constindices.ll b/test/LLC/constindices.ll
index 0b8ef913465..d6c8658aab5 100644
--- a/test/LLC/constindices.ll
+++ b/test/LLC/constindices.ll
@@ -27,6 +27,12 @@ begin
 	store float 3.1415, float* %fptrA
 	store float 5.0,    float* %fptrB
 	
+	;; Test that a sequence of GEPs with constant indices are folded right
+	%fptrA1 = getelementptr %MixedA* %ArrayA, uint 3	  ; &ArrayA[3]
+	%fptrA2 = getelementptr %MixedA* %fptrA1, uint 0, ubyte 1 ; &(*fptrA1).1
+	%fptrA3 = getelementptr [15 x int]* %fptrA2, uint 0, uint 8 ; &(*fptrA2)[8]
+	store int 5, int* %fptrA3	; ArrayA[3].1[8] = 5
+
 	%sqrtTwo = load %MixedA* %ScalarA, uint 0, ubyte 0 
 	%exp     = load %MixedB* %ScalarB, uint 0, ubyte 1, ubyte 0 
 	%pi      = load %MixedA* %ArrayA, uint 1, ubyte 0