Add a sequence of GEPs with constant indices, for folding.
authorVikram S. Adve <vadve@cs.uiuc.edu>
Sun, 4 Aug 2002 20:53:14 +0000 (20:53 +0000)
committerVikram S. Adve <vadve@cs.uiuc.edu>
Sun, 4 Aug 2002 20:53:14 +0000 (20:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3247 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/Generic/constindices.ll
test/LLC/constindices.ll

index 0b8ef91346587492a4c7e8793de3601c12ed1d29..d6c8658aab5ffb25ead8a8c24837daa4190d2aa8 100644 (file)
@@ -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 
index 0b8ef91346587492a4c7e8793de3601c12ed1d29..d6c8658aab5ffb25ead8a8c24837daa4190d2aa8 100644 (file)
@@ -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