Update Polly tests to handle explicitly typed gep changes in LLVM

llvm-svn: 230784
diff --git a/polly/test/CodePreparation/if_condition.ll b/polly/test/CodePreparation/if_condition.ll
index 19d5c97..5bb25fc 100644
--- a/polly/test/CodePreparation/if_condition.ll
+++ b/polly/test/CodePreparation/if_condition.ll
@@ -20,7 +20,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %merge ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   %cmp = icmp eq i64 %indvar, 3
   br i1 %cmp, label %then, label %else
 
diff --git a/polly/test/CodePreparation/multiple_loops_trivial_phis.ll b/polly/test/CodePreparation/multiple_loops_trivial_phis.ll
index 115c76f..ae42e07 100644
--- a/polly/test/CodePreparation/multiple_loops_trivial_phis.ll
+++ b/polly/test/CodePreparation/multiple_loops_trivial_phis.ll
@@ -30,7 +30,7 @@
   %sum.12 = phi i32 [ %mul, %for.body ], [ %add4, %for.inc ]
   %indvars.iv1 = phi i64 [ 0, %for.body ], [ %1, %for.inc ]
   %0 = add i64 %indvars.iv23, %indvars.iv1
-  %arrayidx = getelementptr i32* %A, i64 %0
+  %arrayidx = getelementptr i32, i32* %A, i64 %0
   %tmp5 = load i32* %arrayidx, align 4
   %add4 = add nsw i32 %tmp5, %sum.12
   %1 = add nuw nsw i64 %indvars.iv1, 1
diff --git a/polly/test/CodePreparation/single_loop_trivial_phi.ll b/polly/test/CodePreparation/single_loop_trivial_phi.ll
index 3c1e822..d247321 100644
--- a/polly/test/CodePreparation/single_loop_trivial_phi.ll
+++ b/polly/test/CodePreparation/single_loop_trivial_phi.ll
@@ -24,7 +24,7 @@
 for.inc:                                          ; preds = %for.inc.lr.ph, %for.inc
   %sum.03 = phi i32 [ 0, %for.inc.lr.ph ], [ %add, %for.inc ]
   %indvars.iv2 = phi i64 [ 0, %for.inc.lr.ph ], [ %indvars.iv.next, %for.inc ]
-  %arrayidx = getelementptr i32* %A, i64 %indvars.iv2
+  %arrayidx = getelementptr i32, i32* %A, i64 %indvars.iv2
   %tmp1 = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp1, %sum.03
   %indvars.iv.next = add nuw nsw i64 %indvars.iv2, 1
diff --git a/polly/test/DeadCodeElimination/chained_iterations.ll b/polly/test/DeadCodeElimination/chained_iterations.ll
index 671950e..73c43c1 100644
--- a/polly/test/DeadCodeElimination/chained_iterations.ll
+++ b/polly/test/DeadCodeElimination/chained_iterations.ll
@@ -18,7 +18,7 @@
 
 for.body.1:
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %for.body.1 ]
-  %arrayidx.1 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.1
+  %arrayidx.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
   store i32 2, i32* %arrayidx.1, align 4
   %indvar.next.1 = add i64 %indvar.1, 1
   %exitcond.1 = icmp ne i64 %indvar.next.1, 200
@@ -29,7 +29,7 @@
 
 for.body.2:
   %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %for.body.2 ]
-  %arrayidx.2 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.2
+  %arrayidx.2 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.2
   store i32 5, i32* %arrayidx.2, align 4
   %indvar.next.2 = add i64 %indvar.2, 1
   %exitcond.2 = icmp ne i64 %indvar.next.2, 200
@@ -40,7 +40,7 @@
 
 for.body.3:
   %indvar.3 = phi i64 [ 0, %exit.2 ], [ %indvar.next.3, %for.body.3 ]
-  %arrayidx.3 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.3
+  %arrayidx.3 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.3
   store i32 7, i32* %arrayidx.3, align 4
   %indvar.next.3 = add i64 %indvar.3, 1
   %exitcond.3 = icmp ne i64 %indvar.next.3, 200
diff --git a/polly/test/DeadCodeElimination/chained_iterations_2.ll b/polly/test/DeadCodeElimination/chained_iterations_2.ll
index 6b780ce..e618854 100644
--- a/polly/test/DeadCodeElimination/chained_iterations_2.ll
+++ b/polly/test/DeadCodeElimination/chained_iterations_2.ll
@@ -19,7 +19,7 @@
 
 for.body.1:
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %for.body.1 ]
-  %arrayidx.1 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.1
+  %arrayidx.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
   store i32 2, i32* %arrayidx.1, align 4
   %indvar.next.1 = add i64 %indvar.1, 1
   %exitcond.1 = icmp ne i64 %indvar.next.1, 200
@@ -30,9 +30,9 @@
 
 for.body.2:
   %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %for.body.2 ]
-  %arrayidx.2.a = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.2
+  %arrayidx.2.a = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.2
   %val = load i32* %arrayidx.2.a, align 4
-  %arrayidx.2.b = getelementptr [200 x i32]* %B, i64 0, i64 %indvar.2
+  %arrayidx.2.b = getelementptr [200 x i32], [200 x i32]* %B, i64 0, i64 %indvar.2
   store i32 %val, i32* %arrayidx.2.b, align 4
   %indvar.next.2 = add i64 %indvar.2, 1
   %exitcond.2 = icmp ne i64 %indvar.next.2, 200
@@ -43,8 +43,8 @@
 
 for.body.3:
   %indvar.3 = phi i64 [ 0, %exit.2 ], [ %indvar.next.3, %for.body.3 ]
-  %arrayidx.3.a = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.3
-  %arrayidx.3.b = getelementptr [200 x i32]* %B, i64 0, i64 %indvar.3
+  %arrayidx.3.a = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.3
+  %arrayidx.3.b = getelementptr [200 x i32], [200 x i32]* %B, i64 0, i64 %indvar.3
   store i32 5, i32* %arrayidx.3.a, align 4
   store i32 5, i32* %arrayidx.3.b, align 4
   %indvar.next.3 = add i64 %indvar.3, 1
diff --git a/polly/test/DeadCodeElimination/computeout.ll b/polly/test/DeadCodeElimination/computeout.ll
index fca5d0c..38c3e2d 100644
--- a/polly/test/DeadCodeElimination/computeout.ll
+++ b/polly/test/DeadCodeElimination/computeout.ll
@@ -19,7 +19,7 @@
 
 S1:
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %S1 ]
-  %arrayidx.1 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.1
+  %arrayidx.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
   store i32 2, i32* %arrayidx.1
   %indvar.next.1 = add i64 %indvar.1, 1
   %exitcond.1 = icmp ne i64 %indvar.next.1, 100
@@ -30,7 +30,7 @@
 
 S2:
   %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %S2 ]
-  %arrayidx.2 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.2
+  %arrayidx.2 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.2
   store i32 5, i32* %arrayidx.2
   %indvar.next.2 = add i64 %indvar.2, 1
   %exitcond.2 = icmp ne i64 %indvar.next.2, 10
@@ -41,7 +41,7 @@
 
 S3:
   %indvar.3 = phi i64 [ 0, %exit.2 ], [ %indvar.next.3, %S3 ]
-  %arrayidx.3 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.3
+  %arrayidx.3 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.3
   store i32 7, i32* %arrayidx.3
   %indvar.next.3 = add i64 %indvar.3, 1
   %exitcond.3 = icmp ne i64 %indvar.next.3, 200
diff --git a/polly/test/DeadCodeElimination/dead_iteration_elimination.ll b/polly/test/DeadCodeElimination/dead_iteration_elimination.ll
index e0118ea..d1a2373 100644
--- a/polly/test/DeadCodeElimination/dead_iteration_elimination.ll
+++ b/polly/test/DeadCodeElimination/dead_iteration_elimination.ll
@@ -21,7 +21,7 @@
 
 for.body.1:
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %for.body.1 ]
-  %arrayidx.1 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.1
+  %arrayidx.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
   store i32 2, i32* %arrayidx.1, align 4
   %indvar.next.1 = add i64 %indvar.1, 1
   %exitcond.1 = icmp ne i64 %indvar.next.1, 200
@@ -32,7 +32,7 @@
 
 for.body.2:
   %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %for.body.2 ]
-  %arrayidx.2 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.2
+  %arrayidx.2 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.2
   store i32 5, i32* %arrayidx.2, align 4
   %indvar.next.2 = add i64 %indvar.2, 1
   %exitcond.2 = icmp ne i64 %indvar.next.2, 50
@@ -43,7 +43,7 @@
 
 for.body.3:
   %indvar.3 = phi i64 [ 0, %exit.2 ], [ %indvar.next.3, %for.body.3 ]
-  %arrayidx.3 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.3
+  %arrayidx.3 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.3
   %val = load i32* %arrayidx.3, align 4
   %add = add nsw i32 %val, 5
   store i32 %add, i32* %arrayidx.3, align 4
@@ -58,7 +58,7 @@
   %indvar.4 = phi i64 [ 0, %exit.3 ], [ %indvar.next.4, %for.body.4 ]
   %indvar.plus = add i64 %indvar.4, 100
   %trunc = trunc i64 %indvar.plus to i32
-  %arrayidx.4 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.plus
+  %arrayidx.4 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.plus
   store i32 %trunc, i32* %arrayidx.4, align 4
   %indvar.next.4 = add i64 %indvar.4, 1
   %exitcond.4 = icmp ne i64 %indvar.next.4, 10
diff --git a/polly/test/DeadCodeElimination/non-affine-affine-mix.ll b/polly/test/DeadCodeElimination/non-affine-affine-mix.ll
index bf0385c..1b3f38b 100644
--- a/polly/test/DeadCodeElimination/non-affine-affine-mix.ll
+++ b/polly/test/DeadCodeElimination/non-affine-affine-mix.ll
@@ -29,7 +29,7 @@
 
 S1:
   %rem = srem i32 %i.0, 2
-  %arrayidx = getelementptr inbounds i32* %A, i32 %rem
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %rem
   store i32 %i.0, i32* %arrayidx, align 4
   br label %for.inc
 
@@ -46,7 +46,7 @@
   br i1 %exitcond.2, label %S2, label %for.end
 
 S2:
-  %arrayidx.2 = getelementptr inbounds i32* %A, i32 %i.2
+  %arrayidx.2 = getelementptr inbounds i32, i32* %A, i32 %i.2
   store i32 %i.2, i32* %arrayidx.2, align 4
   br label %for.inc.2
 
diff --git a/polly/test/DeadCodeElimination/non-affine.ll b/polly/test/DeadCodeElimination/non-affine.ll
index ec44070..33b7ccc 100644
--- a/polly/test/DeadCodeElimination/non-affine.ll
+++ b/polly/test/DeadCodeElimination/non-affine.ll
@@ -20,7 +20,7 @@
 
 for.body:                                         ; preds = %for.cond
   %rem = srem i32 %i.0, 2
-  %arrayidx = getelementptr inbounds i32* %A, i32 %rem
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %rem
   store i32 %i.0, i32* %arrayidx, align 4
   br label %for.inc
 
diff --git a/polly/test/DeadCodeElimination/null_schedule.ll b/polly/test/DeadCodeElimination/null_schedule.ll
index a71d3ca..2e5b4e8 100644
--- a/polly/test/DeadCodeElimination/null_schedule.ll
+++ b/polly/test/DeadCodeElimination/null_schedule.ll
@@ -15,7 +15,7 @@
   %A = alloca [200 x i32], align 16
   %B = alloca [200 x i32], align 16
 
-  %A.zero = getelementptr [200 x i32]* %A, i64 0, i64 0
+  %A.zero = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 0
   store i32 1, i32* %A.zero, align 4
 
   br label %for.body.1
@@ -24,10 +24,10 @@
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %for.body.1 ]
   %indvar.next.1 = add i64 %indvar.1, 1
 
-  %A.current.1 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.1
+  %A.current.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
   %val1.1 = load i32* %A.current.1, align 4
   %val2.1 = mul i32 %val1.1, 2
-  %A.next.1 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.next.1
+  %A.next.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.next.1
   store i32 %val2.1, i32* %A.next.1, align 4
 
   %exitcond.1 = icmp ne i64 %indvar.next.1, 100
@@ -39,10 +39,10 @@
 for.body.2:
   %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %for.body.2 ]
 
-  %B.current.2 = getelementptr [200 x i32]* %B, i64 0, i64 %indvar.2
+  %B.current.2 = getelementptr [200 x i32], [200 x i32]* %B, i64 0, i64 %indvar.2
   %val1.2 = load i32* %B.current.2, align 4
   %val2.2 = mul i32 %val1.2, 2
-  %A.current.2 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.2
+  %A.current.2 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.2
   store i32 %val2.2, i32* %A.current.2, align 4
 
   %indvar.next.2 = add i64 %indvar.2, 1
diff --git a/polly/test/Dependences/computeout.ll b/polly/test/Dependences/computeout.ll
index d879f92..9529c46 100644
--- a/polly/test/Dependences/computeout.ll
+++ b/polly/test/Dependences/computeout.ll
@@ -19,7 +19,7 @@
 
 S1:
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %S1 ]
-  %arrayidx.1 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.1
+  %arrayidx.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
   store i32 2, i32* %arrayidx.1
   %indvar.next.1 = add i64 %indvar.1, 1
   %exitcond.1 = icmp ne i64 %indvar.next.1, 100
@@ -30,7 +30,7 @@
 
 S2:
   %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %S2 ]
-  %arrayidx.2 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.2
+  %arrayidx.2 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.2
   store i32 5, i32* %arrayidx.2
   %indvar.next.2 = add i64 %indvar.2, 1
   %exitcond.2 = icmp ne i64 %indvar.next.2, 10
@@ -41,7 +41,7 @@
 
 S3:
   %indvar.3 = phi i64 [ 0, %exit.2 ], [ %indvar.next.3, %S3 ]
-  %arrayidx.3 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.3
+  %arrayidx.3 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.3
   store i32 7, i32* %arrayidx.3
   %indvar.next.3 = add i64 %indvar.3, 1
   %exitcond.3 = icmp ne i64 %indvar.next.3, 200
diff --git a/polly/test/Dependences/do_pluto_matmult.ll b/polly/test/Dependences/do_pluto_matmult.ll
index bfad357..80de02d 100644
--- a/polly/test/Dependences/do_pluto_matmult.ll
+++ b/polly/test/Dependences/do_pluto_matmult.ll
@@ -22,13 +22,13 @@
 
 do.body1:                                         ; preds = %do.cond36, %do.body
   %indvar1 = phi i64 [ %indvar.next2, %do.cond36 ], [ 0, %do.body ] ; <i64> [#uses=3]
-  %arrayidx5 = getelementptr [36 x [49 x double]]* @C, i64 0, i64 %indvar3, i64 %indvar1 ; <double*> [#uses=2]
+  %arrayidx5 = getelementptr [36 x [49 x double]], [36 x [49 x double]]* @C, i64 0, i64 %indvar3, i64 %indvar1 ; <double*> [#uses=2]
   br label %do.body2
 
 do.body2:                                         ; preds = %do.cond, %do.body1
   %indvar = phi i64 [ %indvar.next, %do.cond ], [ 0, %do.body1 ] ; <i64> [#uses=3]
-  %arrayidx13 = getelementptr [36 x [49 x double]]* @A, i64 0, i64 %indvar3, i64 %indvar ; <double*> [#uses=1]
-  %arrayidx22 = getelementptr [36 x [49 x double]]* @B, i64 0, i64 %indvar, i64 %indvar1 ; <double*> [#uses=1]
+  %arrayidx13 = getelementptr [36 x [49 x double]], [36 x [49 x double]]* @A, i64 0, i64 %indvar3, i64 %indvar ; <double*> [#uses=1]
+  %arrayidx22 = getelementptr [36 x [49 x double]], [36 x [49 x double]]* @B, i64 0, i64 %indvar, i64 %indvar1 ; <double*> [#uses=1]
   %tmp6 = load double* %arrayidx5                 ; <double> [#uses=1]
   %mul = fmul double 1.000000e+00, %tmp6          ; <double> [#uses=1]
   %tmp14 = load double* %arrayidx13               ; <double> [#uses=1]
diff --git a/polly/test/Dependences/reduction_complex_location.ll b/polly/test/Dependences/reduction_complex_location.ll
index 6d05544..4a0a5b5 100644
--- a/polly/test/Dependences/reduction_complex_location.ll
+++ b/polly/test/Dependences/reduction_complex_location.ll
@@ -37,7 +37,7 @@
   %mul = mul nsw i32 %j.0, %i.0
   %mul4 = shl nsw i32 %j.0, 1
   %add = add nsw i32 %i.0, %mul4
-  %arrayidx = getelementptr inbounds i32* %sum, i32 %add
+  %arrayidx = getelementptr inbounds i32, i32* %sum, i32 %add
   %tmp = load i32* %arrayidx, align 4
   %add5 = add nsw i32 %tmp, %mul
   store i32 %add5, i32* %arrayidx, align 4
diff --git a/polly/test/Dependences/reduction_dependences_equal_non_reduction_dependences.ll b/polly/test/Dependences/reduction_dependences_equal_non_reduction_dependences.ll
index c7e29dc..515136a 100644
--- a/polly/test/Dependences/reduction_dependences_equal_non_reduction_dependences.ll
+++ b/polly/test/Dependences/reduction_dependences_equal_non_reduction_dependences.ll
@@ -33,20 +33,20 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %sub = add nsw i32 %i.0, -1
-  %arrayidx1 = getelementptr inbounds i32* %A, i32 %sub
+  %arrayidx1 = getelementptr inbounds i32, i32* %A, i32 %sub
   %tmp1 = load i32* %arrayidx1, align 4
   %add = add nsw i32 %tmp, %tmp1
-  %arrayidx2 = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i32 %i.0
   store i32 %add, i32* %arrayidx2, align 4
   %sub4 = add nsw i32 %i.0, -2
-  %arrayidx5 = getelementptr inbounds i32* %A, i32 %sub4
+  %arrayidx5 = getelementptr inbounds i32, i32* %A, i32 %sub4
   %tmp2 = load i32* %arrayidx5, align 4
   %add6 = add nsw i32 %add, %tmp2
   %sub7 = add nsw i32 %i.0, -1
-  %arrayidx8 = getelementptr inbounds i32* %A, i32 %sub7
+  %arrayidx8 = getelementptr inbounds i32, i32* %A, i32 %sub7
   store i32 %add6, i32* %arrayidx8, align 4
   %tmp3 = load i32* %sum, align 4
   %add9 = add nsw i32 %tmp3, %i.0
diff --git a/polly/test/Dependences/reduction_mixed_reduction_and_non_reduction_dependences.ll b/polly/test/Dependences/reduction_mixed_reduction_and_non_reduction_dependences.ll
index 9e3bd592..6be0392 100644
--- a/polly/test/Dependences/reduction_mixed_reduction_and_non_reduction_dependences.ll
+++ b/polly/test/Dependences/reduction_mixed_reduction_and_non_reduction_dependences.ll
@@ -35,11 +35,11 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %sum, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %sum, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 3
   %add4 = add nsw i32 %i.0, %j.0
-  %arrayidx5 = getelementptr inbounds i32* %sum, i32 %add4
+  %arrayidx5 = getelementptr inbounds i32, i32* %sum, i32 %add4
   store i32 %add, i32* %arrayidx5, align 4
   br label %for.inc
 
diff --git a/polly/test/Dependences/reduction_multiple_loops_array_sum.ll b/polly/test/Dependences/reduction_multiple_loops_array_sum.ll
index 333035c..1490d65 100644
--- a/polly/test/Dependences/reduction_multiple_loops_array_sum.ll
+++ b/polly/test/Dependences/reduction_multiple_loops_array_sum.ll
@@ -39,7 +39,7 @@
 
 for.body3:                                        ; preds = %for.cond1
   %add = add nsw i32 %i.0, %j.0
-  %arrayidx = getelementptr inbounds i32* %A, i32 %add
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %add
   %tmp3 = load i32* %arrayidx, align 4
   %tmp4 = load i32* %sum, align 4
   %add4 = add nsw i32 %tmp4, %tmp3
diff --git a/polly/test/Dependences/reduction_multiple_loops_array_sum_2.ll b/polly/test/Dependences/reduction_multiple_loops_array_sum_2.ll
index 7e92a36..473c8dd 100644
--- a/polly/test/Dependences/reduction_multiple_loops_array_sum_2.ll
+++ b/polly/test/Dependences/reduction_multiple_loops_array_sum_2.ll
@@ -41,7 +41,7 @@
 
 for.body3:                                        ; preds = %for.cond1
   %add = add nsw i32 %i.0, %j.0
-  %arrayidx = getelementptr inbounds i32* %A, i32 %add
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %add
   %tmp3 = load i32* %arrayidx, align 4
   %tmp4 = load i32* %sum, align 4
   %add4 = add nsw i32 %tmp4, %tmp3
diff --git a/polly/test/Dependences/reduction_multiple_loops_array_sum_3.ll b/polly/test/Dependences/reduction_multiple_loops_array_sum_3.ll
index f7d27a2..06cabe3 100644
--- a/polly/test/Dependences/reduction_multiple_loops_array_sum_3.ll
+++ b/polly/test/Dependences/reduction_multiple_loops_array_sum_3.ll
@@ -49,7 +49,7 @@
   %indvars.iv1 = phi i64 [ 0, %for.body ], [ %1, %for.inc ]
   %sum.12.reload = load i32* %sum.12.reg2mem
   %0 = add i64 %indvars.iv23, %indvars.iv1
-  %arrayidx = getelementptr i32* %A, i64 %0
+  %arrayidx = getelementptr i32, i32* %A, i64 %0
   %tmp5 = load i32* %arrayidx, align 4
   %add4 = add nsw i32 %tmp5, %sum.12.reload
   %1 = add nuw nsw i64 %indvars.iv1, 1
diff --git a/polly/test/Dependences/reduction_only_reduction_like_access.ll b/polly/test/Dependences/reduction_only_reduction_like_access.ll
index ae78d7f..a177e32 100644
--- a/polly/test/Dependences/reduction_only_reduction_like_access.ll
+++ b/polly/test/Dependences/reduction_only_reduction_like_access.ll
@@ -28,10 +28,10 @@
 
 for.body:                                         ; preds = %for.cond
   %sub = sub nsw i32 99, %i.0
-  %arrayidx = getelementptr inbounds i32* %sum, i32 %sub
+  %arrayidx = getelementptr inbounds i32, i32* %sum, i32 %sub
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
-  %arrayidx1 = getelementptr inbounds i32* %sum, i32 %i.0
+  %arrayidx1 = getelementptr inbounds i32, i32* %sum, i32 %i.0
   store i32 %add, i32* %arrayidx1, align 4
   br label %for.inc
 
diff --git a/polly/test/Dependences/reduction_partially_escaping_intermediate_in_other_stmt.ll b/polly/test/Dependences/reduction_partially_escaping_intermediate_in_other_stmt.ll
index e69c702..fa01f9a 100644
--- a/polly/test/Dependences/reduction_partially_escaping_intermediate_in_other_stmt.ll
+++ b/polly/test/Dependences/reduction_partially_escaping_intermediate_in_other_stmt.ll
@@ -32,7 +32,7 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %sums, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %sums, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 5
   store i32 %add, i32* %arrayidx, align 4
@@ -42,11 +42,11 @@
   br i1 %cmp5, label %if.then, label %if.end
 
 if.then:                                          ; preds = %for.body3
-  %arrayidx6 = getelementptr inbounds i32* %sums, i32 %i.0
+  %arrayidx6 = getelementptr inbounds i32, i32* %sums, i32 %i.0
   %tmp2 = load i32* %arrayidx6, align 4
   %sub7 = sub nsw i32 %N, %i.0
   %add8 = add nsw i32 %sub7, %j.0
-  %arrayidx9 = getelementptr inbounds i32* %escape, i32 %add8
+  %arrayidx9 = getelementptr inbounds i32, i32* %escape, i32 %add8
   store i32 %tmp2, i32* %arrayidx9, align 4
   br label %if.end
 
diff --git a/polly/test/Dependences/reduction_privatization_deps.ll b/polly/test/Dependences/reduction_privatization_deps.ll
index 1d1bb1e..8d75db9 100644
--- a/polly/test/Dependences/reduction_privatization_deps.ll
+++ b/polly/test/Dependences/reduction_privatization_deps.ll
@@ -36,7 +36,7 @@
   br label %S0
 
 S0:                                               ; preds = %for.body
-  %arrayidx = getelementptr inbounds i32* %sum, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %sum, i32 %i.0
   store i32 0, i32* %arrayidx, align 4
   br label %for.inc
 
@@ -65,7 +65,7 @@
 
 S1:                                               ; preds = %for.body7
   %add = add nsw i32 %i1.0, %j.0
-  %arrayidx8 = getelementptr inbounds i32* %sum, i32 %add
+  %arrayidx8 = getelementptr inbounds i32, i32* %sum, i32 %add
   %tmp = load i32* %arrayidx8, align 4
   %add9 = add nsw i32 %tmp, %i1.0
   store i32 %add9, i32* %arrayidx8, align 4
@@ -95,10 +95,10 @@
 
 S2:                                               ; preds = %for.body19
   %add20 = add nsw i32 %i16.0, 1
-  %arrayidx21 = getelementptr inbounds i32* %sum, i32 %add20
+  %arrayidx21 = getelementptr inbounds i32, i32* %sum, i32 %add20
   %tmp4 = load i32* %arrayidx21, align 4
   %mul = mul nsw i32 %tmp4, 3
-  %arrayidx22 = getelementptr inbounds i32* %sum, i32 %i16.0
+  %arrayidx22 = getelementptr inbounds i32, i32* %sum, i32 %i16.0
   store i32 %mul, i32* %arrayidx22, align 4
   br label %for.inc23
 
diff --git a/polly/test/Dependences/reduction_privatization_deps_2.ll b/polly/test/Dependences/reduction_privatization_deps_2.ll
index bf2b9c5..60fc54f 100644
--- a/polly/test/Dependences/reduction_privatization_deps_2.ll
+++ b/polly/test/Dependences/reduction_privatization_deps_2.ll
@@ -40,7 +40,7 @@
 
 S1:                                               ; preds = %for.body
   %add = add nsw i32 %i.0, 1
-  %arrayidx = getelementptr inbounds i32* %sum, i32 %add
+  %arrayidx = getelementptr inbounds i32, i32* %sum, i32 %add
   %tmp = load i32* %arrayidx, align 4
   %add1 = add nsw i32 %tmp, 42
   store i32 %add1, i32* %arrayidx, align 4
@@ -56,7 +56,7 @@
 
 S2:                                               ; preds = %for.body4
   %mul = mul nsw i32 %i.0, %j.0
-  %arrayidx5 = getelementptr inbounds i32* %sum, i32 %i.0
+  %arrayidx5 = getelementptr inbounds i32, i32* %sum, i32 %i.0
   %tmp2 = load i32* %arrayidx5, align 4
   %add6 = add nsw i32 %tmp2, %mul
   store i32 %add6, i32* %arrayidx5, align 4
@@ -71,7 +71,7 @@
 
 S3:                                               ; preds = %for.end
   %add7 = add nsw i32 %i.0, 1
-  %arrayidx8 = getelementptr inbounds i32* %sum, i32 %add7
+  %arrayidx8 = getelementptr inbounds i32, i32* %sum, i32 %add7
   %tmp3 = load i32* %arrayidx8, align 4
   %add9 = add nsw i32 %tmp3, 7
   store i32 %add9, i32* %arrayidx8, align 4
diff --git a/polly/test/Dependences/reduction_privatization_deps_3.ll b/polly/test/Dependences/reduction_privatization_deps_3.ll
index 66b9ccd..7c6dee9d 100644
--- a/polly/test/Dependences/reduction_privatization_deps_3.ll
+++ b/polly/test/Dependences/reduction_privatization_deps_3.ll
@@ -40,7 +40,7 @@
 
 S1:                                               ; preds = %for.body
   %add = add nsw i32 %i.0, 1
-  %arrayidx = getelementptr inbounds i32* %sum, i32 %add
+  %arrayidx = getelementptr inbounds i32, i32* %sum, i32 %add
   %tmp = load i32* %arrayidx, align 4
   %add1 = add nsw i32 %tmp, 42
   store i32 %add1, i32* %arrayidx, align 4
@@ -57,7 +57,7 @@
 S2:                                               ; preds = %for.body4
   %mul = mul nsw i32 %i.0, %j.0
   %sub = sub nsw i32 %i.0, %j.0
-  %arrayidx5 = getelementptr inbounds i32* %sum, i32 %sub
+  %arrayidx5 = getelementptr inbounds i32, i32* %sum, i32 %sub
   %tmp2 = load i32* %arrayidx5, align 4
   %add6 = add nsw i32 %tmp2, %mul
   store i32 %add6, i32* %arrayidx5, align 4
@@ -72,7 +72,7 @@
 
 S3:                                               ; preds = %for.end
   %sub7 = add nsw i32 %i.0, -1
-  %arrayidx8 = getelementptr inbounds i32* %sum, i32 %sub7
+  %arrayidx8 = getelementptr inbounds i32, i32* %sum, i32 %sub7
   %tmp3 = load i32* %arrayidx8, align 4
   %add9 = add nsw i32 %tmp3, 7
   store i32 %add9, i32* %arrayidx8, align 4
diff --git a/polly/test/Dependences/reduction_privatization_deps_4.ll b/polly/test/Dependences/reduction_privatization_deps_4.ll
index bfececb..84d1a14 100644
--- a/polly/test/Dependences/reduction_privatization_deps_4.ll
+++ b/polly/test/Dependences/reduction_privatization_deps_4.ll
@@ -39,7 +39,7 @@
   br label %S1
 
 S1:                                               ; preds = %for.body
-  %arrayidx = getelementptr inbounds i32* %sum, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %sum, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 42
   store i32 %add, i32* %arrayidx, align 4
@@ -55,7 +55,7 @@
 
 S2:                                               ; preds = %for.body3
   %mul = mul nsw i32 %i.0, %j.0
-  %arrayidx4 = getelementptr inbounds i32* %sum, i32 %j.0
+  %arrayidx4 = getelementptr inbounds i32, i32* %sum, i32 %j.0
   %tmp2 = load i32* %arrayidx4, align 4
   %add5 = add nsw i32 %tmp2, %mul
   store i32 %add5, i32* %arrayidx4, align 4
@@ -69,7 +69,7 @@
   br label %S3
 
 S3:                                               ; preds = %for.end
-  %arrayidx6 = getelementptr inbounds i32* %sum, i32 %i.0
+  %arrayidx6 = getelementptr inbounds i32, i32* %sum, i32 %i.0
   %tmp3 = load i32* %arrayidx6, align 4
   %add7 = add nsw i32 %tmp3, 7
   store i32 %add7, i32* %arrayidx6, align 4
diff --git a/polly/test/Dependences/reduction_privatization_deps_5.ll b/polly/test/Dependences/reduction_privatization_deps_5.ll
index eb4e4fb..f4a3b79 100644
--- a/polly/test/Dependences/reduction_privatization_deps_5.ll
+++ b/polly/test/Dependences/reduction_privatization_deps_5.ll
@@ -43,7 +43,7 @@
   br label %S1
 
 S1:                                               ; preds = %for.body3
-  %arrayidx = getelementptr inbounds i32* %sum, i32 %j.0
+  %arrayidx = getelementptr inbounds i32, i32* %sum, i32 %j.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 42
   store i32 %add, i32* %arrayidx, align 4
@@ -66,7 +66,7 @@
 
 S2:                                               ; preds = %for.body6
   %mul = mul nsw i32 %i.0, %j.1
-  %arrayidx7 = getelementptr inbounds i32* %sum, i32 %j.1
+  %arrayidx7 = getelementptr inbounds i32, i32* %sum, i32 %j.1
   %tmp3 = load i32* %arrayidx7, align 4
   %add8 = add nsw i32 %tmp3, %mul
   store i32 %add8, i32* %arrayidx7, align 4
diff --git a/polly/test/Dependences/reduction_two_reductions_different_rloops.ll b/polly/test/Dependences/reduction_two_reductions_different_rloops.ll
index d57bb20..919fdeb 100644
--- a/polly/test/Dependences/reduction_two_reductions_different_rloops.ll
+++ b/polly/test/Dependences/reduction_two_reductions_different_rloops.ll
@@ -40,17 +40,17 @@
 for.body3:                                        ; preds = %for.cond1
   %add = add nsw i32 %i.0, %j.0
   %sub = add nsw i32 %add, -1
-  %arrayidx = getelementptr inbounds i32* %Values, i32 %sub
+  %arrayidx = getelementptr inbounds i32, i32* %Values, i32 %sub
   %tmp = load i32* %arrayidx, align 4
-  %arrayidx4 = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx4 = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp2 = load i32* %arrayidx4, align 4
   %add5 = add nsw i32 %tmp2, %tmp
   store i32 %add5, i32* %arrayidx4, align 4
   %add6 = add nsw i32 %i.0, %j.0
   %add7 = add nsw i32 %add6, 42
-  %arrayidx8 = getelementptr inbounds i32* %Values, i32 %add7
+  %arrayidx8 = getelementptr inbounds i32, i32* %Values, i32 %add7
   %tmp3 = load i32* %arrayidx8, align 4
-  %arrayidx9 = getelementptr inbounds i32* %B, i32 %j.0
+  %arrayidx9 = getelementptr inbounds i32, i32* %B, i32 %j.0
   %tmp4 = load i32* %arrayidx9, align 4
   %add10 = add nsw i32 %tmp4, %tmp3
   store i32 %add10, i32* %arrayidx9, align 4
diff --git a/polly/test/Dependences/sequential_loops.ll b/polly/test/Dependences/sequential_loops.ll
index e4d5353..befec3e 100644
--- a/polly/test/Dependences/sequential_loops.ll
+++ b/polly/test/Dependences/sequential_loops.ll
@@ -19,7 +19,7 @@
 
 S1:
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %S1 ]
-  %arrayidx.1 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.1
+  %arrayidx.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
   store i32 2, i32* %arrayidx.1
   %indvar.next.1 = add i64 %indvar.1, 1
   %exitcond.1 = icmp ne i64 %indvar.next.1, 100
@@ -30,7 +30,7 @@
 
 S2:
   %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %S2 ]
-  %arrayidx.2 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.2
+  %arrayidx.2 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.2
   store i32 5, i32* %arrayidx.2
   %indvar.next.2 = add i64 %indvar.2, 1
   %exitcond.2 = icmp ne i64 %indvar.next.2, 10
@@ -41,7 +41,7 @@
 
 S3:
   %indvar.3 = phi i64 [ 0, %exit.2 ], [ %indvar.next.3, %S3 ]
-  %arrayidx.3 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.3
+  %arrayidx.3 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.3
   store i32 7, i32* %arrayidx.3
   %indvar.next.3 = add i64 %indvar.3, 1
   %exitcond.3 = icmp ne i64 %indvar.next.3, 200
@@ -92,7 +92,7 @@
 
 S1:
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %S1 ]
-  %arrayidx.1 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.1
+  %arrayidx.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
   store i32 2, i32* %arrayidx.1
   %indvar.next.1 = add i64 %indvar.1, 1
   %exitcond.1 = icmp ne i64 %indvar.next.1, 100
@@ -103,7 +103,7 @@
 
 S2:
   %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %S2 ]
-  %arrayidx.2 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.2
+  %arrayidx.2 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.2
   store i32 5, i32* %arrayidx.2
   %indvar.next.2 = add i64 %indvar.2, 1
   %exitcond.2 = icmp ne i64 %indvar.next.2, 10
@@ -114,8 +114,8 @@
 
 S3:
   %indvar.3 = phi i64 [ 0, %exit.2 ], [ %indvar.next.3, %S3 ]
-  %arrayidx.3.a = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.3
-  %arrayidx.3.b = getelementptr [200 x i32]* %B, i64 0, i64 %indvar.3
+  %arrayidx.3.a = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.3
+  %arrayidx.3.b = getelementptr [200 x i32], [200 x i32]* %B, i64 0, i64 %indvar.3
   %val = load i32* %arrayidx.3.a
   store i32 %val, i32* %arrayidx.3.b
   %indvar.next.3 = add i64 %indvar.3, 1
@@ -169,8 +169,8 @@
 
 S1:
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %S1 ]
-  %arrayidx.1.a = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.1
-  %arrayidx.1.b = getelementptr [200 x i32]* %B, i64 0, i64 %indvar.1
+  %arrayidx.1.a = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
+  %arrayidx.1.b = getelementptr [200 x i32], [200 x i32]* %B, i64 0, i64 %indvar.1
   %val = load i32* %arrayidx.1.a
   store i32 %val, i32* %arrayidx.1.b
   %indvar.next.1 = add i64 %indvar.1, 1
@@ -182,7 +182,7 @@
 
 S2:
   %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %S2 ]
-  %arrayidx.2 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.2
+  %arrayidx.2 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.2
   store i32 5, i32* %arrayidx.2
   %indvar.next.2 = add i64 %indvar.2, 1
   %exitcond.2 = icmp ne i64 %indvar.next.2, 10
@@ -193,7 +193,7 @@
 
 S3:
   %indvar.3 = phi i64 [ 0, %exit.2 ], [ %indvar.next.3, %S3 ]
-  %arrayidx.3 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.3
+  %arrayidx.3 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.3
   store i32 10, i32* %arrayidx.3
   %indvar.next.3 = add i64 %indvar.3, 1
   %exitcond.3 = icmp ne i64 %indvar.next.3, 200
@@ -245,7 +245,7 @@
 
 S1:
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %S1 ]
-  %arrayidx.1 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.1
+  %arrayidx.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
   store i32 10, i32* %arrayidx.1
   %indvar.next.1 = add i64 %indvar.1, 1
   %exitcond.1 = icmp ne i64 %indvar.next.1, 100
@@ -257,8 +257,8 @@
 S2:
   %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %S2 ]
   %sum = add i64 %indvar.2, %p
-  %arrayidx.2.a = getelementptr [200 x i32]* %A, i64 0, i64 %sum
-  %arrayidx.2.b = getelementptr [200 x i32]* %B, i64 0, i64 %indvar.2
+  %arrayidx.2.a = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %sum
+  %arrayidx.2.b = getelementptr [200 x i32], [200 x i32]* %B, i64 0, i64 %indvar.2
   %val = load i32* %arrayidx.2.a
   store i32 %val, i32* %arrayidx.2.b
   %indvar.next.2 = add i64 %indvar.2, 1
diff --git a/polly/test/IndependentBlocks/inter_bb_scalar_dep.ll b/polly/test/IndependentBlocks/inter_bb_scalar_dep.ll
index 9891cd1..d18cc51 100644
--- a/polly/test/IndependentBlocks/inter_bb_scalar_dep.ll
+++ b/polly/test/IndependentBlocks/inter_bb_scalar_dep.ll
@@ -43,7 +43,7 @@
 ; CHECK: %init.loadarray = load i64* %init.s2a
 ; CHECK: %init_plus_two = add i64 %init.loadarray, 2
 ; SCALARACCESS: %init_plus_two = add i64 %init, 2
-  %scevgep = getelementptr i64* %A, i64 %indvar.j
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %init_plus_two, i64* %scevgep
   %indvar.j.next = add nsw i64 %indvar.j, 1
   %exitcond.j = icmp eq i64 %indvar.j.next, %N
diff --git a/polly/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll b/polly/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll
index 4ff6972..c17fc09 100644
--- a/polly/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll
+++ b/polly/test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll
@@ -52,7 +52,7 @@
 
 ; SCALARACCESS: %init_2 = load i64* %init_ptr
 ; SCALARACCESS: %init_sum = add i64 %init, %init_2
-  %scevgep = getelementptr i64* %A, i64 %indvar.j
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %init_sum, i64* %scevgep
   %indvar.j.next = add nsw i64 %indvar.j, 1
   %exitcond.j = icmp eq i64 %indvar.j.next, %N
diff --git a/polly/test/IndependentBlocks/intra_bb_scalar_dep.ll b/polly/test/IndependentBlocks/intra_bb_scalar_dep.ll
index 8dc7e0d..07d8b81 100644
--- a/polly/test/IndependentBlocks/intra_bb_scalar_dep.ll
+++ b/polly/test/IndependentBlocks/intra_bb_scalar_dep.ll
@@ -39,7 +39,7 @@
 ; The scalar evolution of %init_plus_two is (2 + %init). So we have a
 ; non-trivial scalar evolution referring to a value in the same basic block.
 ; We want to ensure that this scalar is not translated into a memory copy.
-  %scevgep = getelementptr i64* %A, i64 %indvar.j
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %init_plus_two, i64* %scevgep
   %indvar.j.next = add nsw i64 %indvar.j, 1
   %exitcond.j = icmp eq i64 %indvar.j.next, %N
diff --git a/polly/test/IndependentBlocks/scalar_to_array.ll b/polly/test/IndependentBlocks/scalar_to_array.ll
index 262a920..39672c1 100644
--- a/polly/test/IndependentBlocks/scalar_to_array.ll
+++ b/polly/test/IndependentBlocks/scalar_to_array.ll
@@ -47,7 +47,7 @@
   br i1 %exitcond, label %for.body, label %return
 
 for.body:
-  %arrayidx = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %float = uitofp i64 %indvar to float
   store float %float, float* %arrayidx
   br label %for.inc
@@ -87,31 +87,31 @@
   br i1 %exitcond, label %for.body.a, label %return
 
 for.body.a:
-  %arrayidx = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %scalar = load float* %arrayidx
   br label %for.body.b
 
 ; CHECK: for.body.a:
-; CHECK: %arrayidx = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+; CHECK: %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
 ; CHECK: %scalar = load float* %arrayidx
 ; CHECK: store float %scalar, float* %scalar.s2a
 ; CHECK: br label %for.body.b
 
 ; SCALARACCESS: for.body.a:
-; SCALARACCESS: %arrayidx = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+; SCALARACCESS: %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
 ; SCALARACCESS: %scalar = load float* %arrayidx
 ; SCALARACCESS-NOT: store
 ; SCALARACCESS: br label %for.body.b
 
 for.body.b:
-  %arrayidx2 = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %arrayidx2 = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %float = uitofp i64 %indvar to float
   %sum = fadd float %scalar, %float
   store float %sum, float* %arrayidx2
   br label %for.inc
 
 ; CHECK: for.body.b:
-; CHECK: %arrayidx2 = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+; CHECK: %arrayidx2 = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
 ; CHECK: %float = uitofp i64 %indvar to float
 ; CHECK: %scalar.loadarray = load float* %scalar.s2a
 ; CHECK: %sum = fadd float %scalar.loadarray, %float
@@ -119,7 +119,7 @@
 ; CHECK: br label %for.inc
 
 ; SCALARACCESS: for.body.b:
-; SCALARACCESS: %arrayidx2 = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+; SCALARACCESS: %arrayidx2 = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
 ; SCALARACCESS: %float = uitofp i64 %indvar to float
 ; SCALARACCESS-NOT: load
 ; SCALARACCESS: %sum = fadd float %scalar, %float
@@ -159,7 +159,7 @@
   br label %for.body
 
 for.body:
-  %arrayidx = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %scalar = load float* %arrayidx
   br label %for.inc
 
@@ -219,7 +219,7 @@
   br i1 %exitcond, label %for.body, label %return
 
 for.body:
-  %arrayidx = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   store float %scalar, float* %arrayidx
   br label %for.inc
 
@@ -253,7 +253,7 @@
   br i1 %exitcond, label %for.body, label %return
 
 for.body:
-  %arrayidx = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   store float %scalar, float* %arrayidx
   br label %for.inc
 
diff --git a/polly/test/Isl/Ast/OpenMP/multiple_loops_outer_parallel.ll b/polly/test/Isl/Ast/OpenMP/multiple_loops_outer_parallel.ll
index 3a1f7a9..5b51ce0 100644
--- a/polly/test/Isl/Ast/OpenMP/multiple_loops_outer_parallel.ll
+++ b/polly/test/Isl/Ast/OpenMP/multiple_loops_outer_parallel.ll
@@ -21,7 +21,7 @@
   br i1 %exitcond3, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %A, i64 %indvars.iv1
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv1
   store i32 1, i32* %arrayidx, align 4
   br label %for.inc
 
@@ -38,10 +38,10 @@
   br i1 %exitcond, label %for.body4, label %for.end11
 
 for.body4:                                        ; preds = %for.cond2
-  %arrayidx6 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx6 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   %tmp = load i32* %arrayidx6, align 4
   %mul = shl nsw i32 %tmp, 1
-  %arrayidx8 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx8 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %mul, i32* %arrayidx8, align 4
   br label %for.inc9
 
diff --git a/polly/test/Isl/Ast/OpenMP/nested_loop_both_parallel.ll b/polly/test/Isl/Ast/OpenMP/nested_loop_both_parallel.ll
index 1dde52e..d8eb5f8 100644
--- a/polly/test/Isl/Ast/OpenMP/nested_loop_both_parallel.ll
+++ b/polly/test/Isl/Ast/OpenMP/nested_loop_both_parallel.ll
@@ -23,7 +23,7 @@
   br i1 %exitcond.j, label %loop.body, label %loop.i.backedge
 
 loop.body:
-  %scevgep = getelementptr [1024 x [1024 x i32] ]* @A, i64 0, i64 %j, i64 %i
+  %scevgep = getelementptr [1024 x [1024 x i32] ], [1024 x [1024 x i32] ]* @A, i64 0, i64 %j, i64 %i
   store i32 1, i32* %scevgep
   br label %loop.j.backedge
 
diff --git a/polly/test/Isl/Ast/OpenMP/nested_loop_both_parallel_parametric.ll b/polly/test/Isl/Ast/OpenMP/nested_loop_both_parallel_parametric.ll
index 832521c..912ff2d 100644
--- a/polly/test/Isl/Ast/OpenMP/nested_loop_both_parallel_parametric.ll
+++ b/polly/test/Isl/Ast/OpenMP/nested_loop_both_parallel_parametric.ll
@@ -24,7 +24,7 @@
   br i1 %exitcond.j, label %loop.body, label %loop.i.backedge
 
 loop.body:
-  %scevgep = getelementptr [1024 x [1024 x i32] ]* @A, i64 0, i64 %j, i64 %i
+  %scevgep = getelementptr [1024 x [1024 x i32] ], [1024 x [1024 x i32] ]* @A, i64 0, i64 %j, i64 %i
   store i32 1, i32* %scevgep
   br label %loop.j.backedge
 
diff --git a/polly/test/Isl/Ast/OpenMP/nested_loop_inner_parallel.ll b/polly/test/Isl/Ast/OpenMP/nested_loop_inner_parallel.ll
index 0f6471b..8fa45cc 100644
--- a/polly/test/Isl/Ast/OpenMP/nested_loop_inner_parallel.ll
+++ b/polly/test/Isl/Ast/OpenMP/nested_loop_inner_parallel.ll
@@ -23,7 +23,7 @@
   br i1 %exitcond.j, label %loop.body, label %loop.i.backedge
 
 loop.body:
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %j
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %j
   store i32 1, i32* %scevgep
   br label %loop.j.backedge
 
diff --git a/polly/test/Isl/Ast/OpenMP/nested_loop_outer_parallel.ll b/polly/test/Isl/Ast/OpenMP/nested_loop_outer_parallel.ll
index a411b5f..6e0a0af 100644
--- a/polly/test/Isl/Ast/OpenMP/nested_loop_outer_parallel.ll
+++ b/polly/test/Isl/Ast/OpenMP/nested_loop_outer_parallel.ll
@@ -23,7 +23,7 @@
   br i1 %exitcond.j, label %loop.body, label %loop.i.backedge
 
 loop.body:
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %i
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %i
   store i32 1, i32* %scevgep
   br label %loop.j.backedge
 
diff --git a/polly/test/Isl/Ast/OpenMP/single_loop_param_non_parallel.ll b/polly/test/Isl/Ast/OpenMP/single_loop_param_non_parallel.ll
index e36bfea..70af1fb 100644
--- a/polly/test/Isl/Ast/OpenMP/single_loop_param_non_parallel.ll
+++ b/polly/test/Isl/Ast/OpenMP/single_loop_param_non_parallel.ll
@@ -13,7 +13,7 @@
 
 loop.header:
   %i = phi i64 [ 0, %start ], [ %i.next, %loop.backedge ]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 0
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 0
   %exitcond = icmp ne i64 %i, %n
   br i1 %exitcond, label %loop.body, label %ret
 
diff --git a/polly/test/Isl/Ast/OpenMP/single_loop_param_parallel.ll b/polly/test/Isl/Ast/OpenMP/single_loop_param_parallel.ll
index b93f7ca..b769a19 100644
--- a/polly/test/Isl/Ast/OpenMP/single_loop_param_parallel.ll
+++ b/polly/test/Isl/Ast/OpenMP/single_loop_param_parallel.ll
@@ -13,7 +13,7 @@
 
 loop.header:
   %i = phi i64 [ 0, %start ], [ %i.next, %loop.backedge ]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %i
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %i
   %exitcond = icmp ne i64 %i, %n
   br i1 %exitcond, label %loop.body, label %ret
 
diff --git a/polly/test/Isl/Ast/OpenMP/single_loop_param_parallel_computeout.ll b/polly/test/Isl/Ast/OpenMP/single_loop_param_parallel_computeout.ll
index cb1bf2d..3740b27 100644
--- a/polly/test/Isl/Ast/OpenMP/single_loop_param_parallel_computeout.ll
+++ b/polly/test/Isl/Ast/OpenMP/single_loop_param_parallel_computeout.ll
@@ -13,7 +13,7 @@
 
 loop.header:
   %i = phi i64 [ 0, %start ], [ %i.next, %loop.backedge ]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %i
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %i
   %exitcond = icmp ne i64 %i, %n
   br i1 %exitcond, label %loop.body, label %ret
 
diff --git a/polly/test/Isl/Ast/alias_simple_1.ll b/polly/test/Isl/Ast/alias_simple_1.ll
index 9224b0a..fbcd7b4 100644
--- a/polly/test/Isl/Ast/alias_simple_1.ll
+++ b/polly/test/Isl/Ast/alias_simple_1.ll
@@ -32,10 +32,10 @@
 
 for.body:                                         ; preds = %for.body.preheader, %for.body
   %indvars.iv = phi i64 [ %indvars.iv.next, %for.body ], [ 0, %for.body.preheader ]
-  %arrayidx = getelementptr inbounds float* %B, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds float, float* %B, i64 %indvars.iv
   %tmp = load float* %arrayidx, align 4, !tbaa !1
   %conv = fptosi float %tmp to i32
-  %arrayidx2 = getelementptr inbounds [1024 x i32]* @A, i64 0, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvars.iv
   store i32 %conv, i32* %arrayidx2, align 4, !tbaa !5
   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
   %lftr.wideiv1 = trunc i64 %indvars.iv.next to i32
diff --git a/polly/test/Isl/Ast/alias_simple_2.ll b/polly/test/Isl/Ast/alias_simple_2.ll
index ca32c82..2bbc8de 100644
--- a/polly/test/Isl/Ast/alias_simple_2.ll
+++ b/polly/test/Isl/Ast/alias_simple_2.ll
@@ -33,9 +33,9 @@
 
 for.body:                                         ; preds = %for.body.preheader, %for.body
   %indvars.iv = phi i64 [ %indvars.iv.next, %for.body ], [ 0, %for.body.preheader ]
-  %arrayidx = getelementptr inbounds  [1024 x i32]* @B, i64 0, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds  [1024 x i32],  [1024 x i32]* @B, i64 0, i64 %indvars.iv
   %tmp = load i32* %arrayidx, align 4, !tbaa !5
-  %arrayidx2 = getelementptr inbounds [1024 x i32]* @A, i64 0, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvars.iv
   store i32 %tmp, i32* %arrayidx2, align 4, !tbaa !5
   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
   %lftr.wideiv1 = trunc i64 %indvars.iv.next to i32
diff --git a/polly/test/Isl/Ast/alias_simple_3.ll b/polly/test/Isl/Ast/alias_simple_3.ll
index 493671d..58d6553 100644
--- a/polly/test/Isl/Ast/alias_simple_3.ll
+++ b/polly/test/Isl/Ast/alias_simple_3.ll
@@ -33,10 +33,10 @@
 
 for.body:                                         ; preds = %for.body.preheader, %for.body
   %indvars.iv = phi i64 [ %indvars.iv.next, %for.body ], [ 0, %for.body.preheader ]
-  %arrayidx = getelementptr inbounds  [1024 x float]* @B, i64 0, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds  [1024 x float],  [1024 x float]* @B, i64 0, i64 %indvars.iv
   %tmp = load float* %arrayidx, align 4, !tbaa !1
   %conv = fptosi float %tmp to i32
-  %arrayidx2 = getelementptr inbounds [1024 x i32]* @A, i64 0, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvars.iv
   store i32 %conv, i32* %arrayidx2, align 4, !tbaa !5
   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
   %lftr.wideiv1 = trunc i64 %indvars.iv.next to i32
diff --git a/polly/test/Isl/Ast/aliasing_multiple_alias_groups.ll b/polly/test/Isl/Ast/aliasing_multiple_alias_groups.ll
index 146fdc9..c0ca608 100644
--- a/polly/test/Isl/Ast/aliasing_multiple_alias_groups.ll
+++ b/polly/test/Isl/Ast/aliasing_multiple_alias_groups.ll
@@ -29,13 +29,13 @@
 
 for.body:                                         ; preds = %for.body, %entry
   %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
-  %arrayidx = getelementptr inbounds i32* %Int1, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %Int1, i64 %indvars.iv
   %tmp = load i32* %arrayidx, align 4, !tbaa !0
-  %arrayidx2 = getelementptr inbounds i32* %Int0, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds i32, i32* %Int0, i64 %indvars.iv
   store i32 %tmp, i32* %arrayidx2, align 4, !tbaa !0
-  %arrayidx4 = getelementptr inbounds float* %Float1, i64 %indvars.iv
+  %arrayidx4 = getelementptr inbounds float, float* %Float1, i64 %indvars.iv
   %tmp1 = load float* %arrayidx4, align 4, !tbaa !4
-  %arrayidx6 = getelementptr inbounds float* %Float0, i64 %indvars.iv
+  %arrayidx6 = getelementptr inbounds float, float* %Float0, i64 %indvars.iv
   store float %tmp1, float* %arrayidx6, align 4, !tbaa !4
   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
   %exitcond = icmp eq i64 %indvars.iv.next, 1024
diff --git a/polly/test/Isl/Ast/aliasing_parametric_simple_1.ll b/polly/test/Isl/Ast/aliasing_parametric_simple_1.ll
index e46551b..8f3154d 100644
--- a/polly/test/Isl/Ast/aliasing_parametric_simple_1.ll
+++ b/polly/test/Isl/Ast/aliasing_parametric_simple_1.ll
@@ -24,9 +24,9 @@
 
 for.body:                                         ; preds = %for.cond
   %idxprom = sext i32 %c to i64
-  %arrayidx = getelementptr inbounds i32* %B, i64 %idxprom
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %idxprom
   %tmp = load i32* %arrayidx, align 4
-  %arrayidx2 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %tmp, i32* %arrayidx2, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/Ast/aliasing_parametric_simple_2.ll b/polly/test/Isl/Ast/aliasing_parametric_simple_2.ll
index d3fb528..bd2e126 100644
--- a/polly/test/Isl/Ast/aliasing_parametric_simple_2.ll
+++ b/polly/test/Isl/Ast/aliasing_parametric_simple_2.ll
@@ -25,12 +25,12 @@
 for.body:                                         ; preds = %for.cond
   %sub = add nsw i32 %c, -10
   %idxprom = sext i32 %sub to i64
-  %arrayidx = getelementptr inbounds i32* %B, i64 %idxprom
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %idxprom
   %tmp = load i32* %arrayidx, align 4
-  %arrayidx1 = getelementptr inbounds i32* %B, i64 5
+  %arrayidx1 = getelementptr inbounds i32, i32* %B, i64 5
   %tmp1 = load i32* %arrayidx1, align 4
   %add = add nsw i32 %tmp, %tmp1
-  %arrayidx3 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %add, i32* %arrayidx3, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/Ast/dependence_distance_constant.ll b/polly/test/Isl/Ast/dependence_distance_constant.ll
index fa17ee5..ecdd4d9 100644
--- a/polly/test/Isl/Ast/dependence_distance_constant.ll
+++ b/polly/test/Isl/Ast/dependence_distance_constant.ll
@@ -28,11 +28,11 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 1
   %add4 = add nsw i32 %i.0, 8
-  %arrayidx5 = getelementptr inbounds i32* %A, i32 %add4
+  %arrayidx5 = getelementptr inbounds i32, i32* %A, i32 %add4
   store i32 %add, i32* %arrayidx5, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/Ast/dependence_distance_multiple_constant.ll b/polly/test/Isl/Ast/dependence_distance_multiple_constant.ll
index 18e1b8d..32f9d4c 100644
--- a/polly/test/Isl/Ast/dependence_distance_multiple_constant.ll
+++ b/polly/test/Isl/Ast/dependence_distance_multiple_constant.ll
@@ -20,17 +20,17 @@
   br i1 %cmp, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 1
   %add1 = add nsw i32 %i.0, 7
-  %arrayidx2 = getelementptr inbounds i32* %A, i32 %add1
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i32 %add1
   store i32 %add, i32* %arrayidx2, align 4
-  %arrayidx3 = getelementptr inbounds i32* %B, i32 %i.0
+  %arrayidx3 = getelementptr inbounds i32, i32* %B, i32 %i.0
   %tmp1 = load i32* %arrayidx3, align 4
   %add4 = add nsw i32 %tmp1, 1
   %add5 = add nsw i32 %i.0, 5
-  %arrayidx6 = getelementptr inbounds i32* %B, i32 %add5
+  %arrayidx6 = getelementptr inbounds i32, i32* %B, i32 %add5
   store i32 %add4, i32* %arrayidx6, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/Ast/dependence_distance_parametric.ll b/polly/test/Isl/Ast/dependence_distance_parametric.ll
index 66f4be4..43b38b5 100644
--- a/polly/test/Isl/Ast/dependence_distance_parametric.ll
+++ b/polly/test/Isl/Ast/dependence_distance_parametric.ll
@@ -28,11 +28,11 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 1
   %add4 = add nsw i32 %i.0, %c
-  %arrayidx5 = getelementptr inbounds i32* %A, i32 %add4
+  %arrayidx5 = getelementptr inbounds i32, i32* %A, i32 %add4
   store i32 %add, i32* %arrayidx5, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/Ast/dependence_distance_parametric_expr.ll b/polly/test/Isl/Ast/dependence_distance_parametric_expr.ll
index 52d64c4..6cfd91e 100644
--- a/polly/test/Isl/Ast/dependence_distance_parametric_expr.ll
+++ b/polly/test/Isl/Ast/dependence_distance_parametric_expr.ll
@@ -28,12 +28,12 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 1
   %add4 = add nsw i32 %i.0, %c
   %add5 = add nsw i32 %add4, %v
-  %arrayidx6 = getelementptr inbounds i32* %A, i32 %add5
+  %arrayidx6 = getelementptr inbounds i32, i32* %A, i32 %add5
   store i32 %add, i32* %arrayidx6, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/Ast/dependence_distance_varying.ll b/polly/test/Isl/Ast/dependence_distance_varying.ll
index 82b8a8f..a66ed91 100644
--- a/polly/test/Isl/Ast/dependence_distance_varying.ll
+++ b/polly/test/Isl/Ast/dependence_distance_varying.ll
@@ -19,10 +19,10 @@
 
 for.body:                                         ; preds = %for.cond
   %sub = sub nsw i32 %N, %i.0
-  %arrayidx = getelementptr inbounds i32* %A, i32 %sub
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %sub
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 1
-  %arrayidx1 = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx1 = getelementptr inbounds i32, i32* %A, i32 %i.0
   store i32 %add, i32* %arrayidx1, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/Ast/dependence_distance_varying_in_outer_loop.ll b/polly/test/Isl/Ast/dependence_distance_varying_in_outer_loop.ll
index 181cd3d..867d4f8e 100644
--- a/polly/test/Isl/Ast/dependence_distance_varying_in_outer_loop.ll
+++ b/polly/test/Isl/Ast/dependence_distance_varying_in_outer_loop.ll
@@ -28,12 +28,12 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %A, i32 %j.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %j.0
   %tmp = load i32* %arrayidx, align 4
   %add = mul nsw i32 %tmp, 3
   %add5 = add nsw i32 %add, 2
   %sub = add nsw i32 %i.0, -3
-  %arrayidx6 = getelementptr inbounds i32* %A, i32 %sub
+  %arrayidx6 = getelementptr inbounds i32, i32* %A, i32 %sub
   store i32 %add5, i32* %arrayidx6, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/Ast/dependence_distance_varying_multiple.ll b/polly/test/Isl/Ast/dependence_distance_varying_multiple.ll
index 8b34647..81def72f 100644
--- a/polly/test/Isl/Ast/dependence_distance_varying_multiple.ll
+++ b/polly/test/Isl/Ast/dependence_distance_varying_multiple.ll
@@ -26,38 +26,38 @@
 for.body:                                         ; preds = %for.cond
   %mul = shl nsw i32 %i.0, 1
   %sub = sub nsw i32 100, %mul
-  %arrayidx = getelementptr inbounds i32* %A, i32 %sub
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %sub
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 1
-  %arrayidx1 = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx1 = getelementptr inbounds i32, i32* %A, i32 %i.0
   store i32 %add, i32* %arrayidx1, align 4
   %tmp1 = mul i32 %i.0, -3
   %sub3 = add i32 %tmp1, 100
-  %arrayidx4 = getelementptr inbounds i32* %B, i32 %sub3
+  %arrayidx4 = getelementptr inbounds i32, i32* %B, i32 %sub3
   %tmp2 = load i32* %arrayidx4, align 4
   %add5 = add nsw i32 %tmp2, 1
-  %arrayidx6 = getelementptr inbounds i32* %B, i32 %i.0
+  %arrayidx6 = getelementptr inbounds i32, i32* %B, i32 %i.0
   store i32 %add5, i32* %arrayidx6, align 4
   %mul7 = shl nsw i32 %i.0, 2
   %sub8 = sub nsw i32 100, %mul7
-  %arrayidx9 = getelementptr inbounds i32* %C, i32 %sub8
+  %arrayidx9 = getelementptr inbounds i32, i32* %C, i32 %sub8
   %tmp3 = load i32* %arrayidx9, align 4
   %add10 = add nsw i32 %tmp3, 1
-  %arrayidx11 = getelementptr inbounds i32* %C, i32 %i.0
+  %arrayidx11 = getelementptr inbounds i32, i32* %C, i32 %i.0
   store i32 %add10, i32* %arrayidx11, align 4
   %tmp4 = mul i32 %i.0, -5
   %sub13 = add i32 %tmp4, 100
-  %arrayidx14 = getelementptr inbounds i32* %D, i32 %sub13
+  %arrayidx14 = getelementptr inbounds i32, i32* %D, i32 %sub13
   %tmp5 = load i32* %arrayidx14, align 4
   %add15 = add nsw i32 %tmp5, 1
-  %arrayidx16 = getelementptr inbounds i32* %D, i32 %i.0
+  %arrayidx16 = getelementptr inbounds i32, i32* %D, i32 %i.0
   store i32 %add15, i32* %arrayidx16, align 4
   %tmp6 = mul i32 %i.0, -6
   %sub18 = add i32 %tmp6, 100
-  %arrayidx19 = getelementptr inbounds i32* %E, i32 %sub18
+  %arrayidx19 = getelementptr inbounds i32, i32* %E, i32 %sub18
   %tmp7 = load i32* %arrayidx19, align 4
   %add20 = add nsw i32 %tmp7, 1
-  %arrayidx21 = getelementptr inbounds i32* %E, i32 %i.0
+  %arrayidx21 = getelementptr inbounds i32, i32* %E, i32 %i.0
   store i32 %add20, i32* %arrayidx21, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/Ast/reduction_clauses_multidimensional_access.ll b/polly/test/Isl/Ast/reduction_clauses_multidimensional_access.ll
index 5d74d0b..8d405b5 100644
--- a/polly/test/Isl/Ast/reduction_clauses_multidimensional_access.ll
+++ b/polly/test/Isl/Ast/reduction_clauses_multidimensional_access.ll
@@ -39,7 +39,7 @@
 for.body6:                                        ; preds = %for.cond4
   %tmp = mul nsw i32 %j.0, %M
   %arrayidx.sum = add i32 %tmp, %k.0
-  %arrayidx7 = getelementptr inbounds i32* %sum, i32 %arrayidx.sum
+  %arrayidx7 = getelementptr inbounds i32, i32* %sum, i32 %arrayidx.sum
   %tmp1 = load i32* %arrayidx7, align 4
   %xor = xor i32 %tmp1, %j.0
   store i32 %xor, i32* %arrayidx7, align 4
diff --git a/polly/test/Isl/Ast/reduction_clauses_onedimensional_access.ll b/polly/test/Isl/Ast/reduction_clauses_onedimensional_access.ll
index 0cec448..0c24573 100644
--- a/polly/test/Isl/Ast/reduction_clauses_onedimensional_access.ll
+++ b/polly/test/Isl/Ast/reduction_clauses_onedimensional_access.ll
@@ -28,7 +28,7 @@
   br i1 %cmp2, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %sum, i32 %j.0
+  %arrayidx = getelementptr inbounds i32, i32* %sum, i32 %j.0
   %tmp = load i32* %arrayidx, align 4
   %xor = xor i32 %tmp, %j.0
   store i32 %xor, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/Ast/reduction_dependences_equal_non_reduction_dependences.ll b/polly/test/Isl/Ast/reduction_dependences_equal_non_reduction_dependences.ll
index 0e77e79..b7c78aa 100644
--- a/polly/test/Isl/Ast/reduction_dependences_equal_non_reduction_dependences.ll
+++ b/polly/test/Isl/Ast/reduction_dependences_equal_non_reduction_dependences.ll
@@ -28,20 +28,20 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %sub = add nsw i32 %i.0, -1
-  %arrayidx1 = getelementptr inbounds i32* %A, i32 %sub
+  %arrayidx1 = getelementptr inbounds i32, i32* %A, i32 %sub
   %tmp1 = load i32* %arrayidx1, align 4
   %add = add nsw i32 %tmp, %tmp1
-  %arrayidx2 = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i32 %i.0
   store i32 %add, i32* %arrayidx2, align 4
   %sub4 = add nsw i32 %i.0, -2
-  %arrayidx5 = getelementptr inbounds i32* %A, i32 %sub4
+  %arrayidx5 = getelementptr inbounds i32, i32* %A, i32 %sub4
   %tmp2 = load i32* %arrayidx5, align 4
   %add6 = add nsw i32 %add, %tmp2
   %sub7 = add nsw i32 %i.0, -1
-  %arrayidx8 = getelementptr inbounds i32* %A, i32 %sub7
+  %arrayidx8 = getelementptr inbounds i32, i32* %A, i32 %sub7
   store i32 %add6, i32* %arrayidx8, align 4
   %tmp3 = load i32* %sum, align 4
   %add9 = add nsw i32 %tmp3, %i.0
diff --git a/polly/test/Isl/Ast/reduction_in_one_dimension.ll b/polly/test/Isl/Ast/reduction_in_one_dimension.ll
index 8b14dc9..5aec583 100644
--- a/polly/test/Isl/Ast/reduction_in_one_dimension.ll
+++ b/polly/test/Isl/Ast/reduction_in_one_dimension.ll
@@ -35,7 +35,7 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/Ast/reduction_loop_reversal.ll b/polly/test/Isl/Ast/reduction_loop_reversal.ll
index 2ab9714..81a53e1 100644
--- a/polly/test/Isl/Ast/reduction_loop_reversal.ll
+++ b/polly/test/Isl/Ast/reduction_loop_reversal.ll
@@ -52,7 +52,7 @@
 
 S1:                                               ; preds = %for.body5
   %add6 = add nsw i32 %i1.0, 1
-  %arrayidx7 = getelementptr inbounds i32* %A, i32 %add6
+  %arrayidx7 = getelementptr inbounds i32, i32* %A, i32 %add6
   store i32 1, i32* %arrayidx7, align 4
   br label %for.inc8
 
diff --git a/polly/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule.ll b/polly/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule.ll
index 650cec9..1e20b96 100644
--- a/polly/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule.ll
+++ b/polly/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule.ll
@@ -55,7 +55,7 @@
 
 S1:                                               ; preds = %for.body5
   %add6 = add nsw i32 %i1.0, 1
-  %arrayidx7 = getelementptr inbounds i32* %A, i32 %add6
+  %arrayidx7 = getelementptr inbounds i32, i32* %A, i32 %add6
   store i32 1, i32* %arrayidx7, align 4
   br label %for.inc8
 
diff --git a/polly/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule_2.ll b/polly/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule_2.ll
index 3b8599b..c19946a 100644
--- a/polly/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule_2.ll
+++ b/polly/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule_2.ll
@@ -62,7 +62,7 @@
 
 S1:                                               ; preds = %for.body5
   %add6 = add nsw i32 %i1.0, 1
-  %arrayidx7 = getelementptr inbounds i32* %A, i32 %add6
+  %arrayidx7 = getelementptr inbounds i32, i32* %A, i32 %add6
   store i32 1, i32* %arrayidx7, align 4
   br label %for.inc8
 
diff --git a/polly/test/Isl/Ast/reduction_modulo_schedule.ll b/polly/test/Isl/Ast/reduction_modulo_schedule.ll
index 4ea03cf..c1fa7c8 100644
--- a/polly/test/Isl/Ast/reduction_modulo_schedule.ll
+++ b/polly/test/Isl/Ast/reduction_modulo_schedule.ll
@@ -55,7 +55,7 @@
 
 S1:                                               ; preds = %for.body5
   %add6 = add nsw i32 %i1.0, 1
-  %arrayidx7 = getelementptr inbounds i32* %A, i32 %add6
+  %arrayidx7 = getelementptr inbounds i32, i32* %A, i32 %add6
   store i32 1, i32* %arrayidx7, align 4
   br label %for.inc8
 
diff --git a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions.ll b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions.ll
index a66d31a..3571b8f 100644
--- a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions.ll
+++ b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions.ll
@@ -34,7 +34,7 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_2.ll b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_2.ll
index a03d9eb..bb1db3b 100644
--- a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_2.ll
+++ b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_2.ll
@@ -36,7 +36,7 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_3.ll b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_3.ll
index 4eafd44..ec086cc 100644
--- a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_3.ll
+++ b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_3.ll
@@ -36,7 +36,7 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_4.ll b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_4.ll
index 6130dff..9358ffe 100644
--- a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_4.ll
+++ b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_4.ll
@@ -40,7 +40,7 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_5.ll b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_5.ll
index 4a6dbce..8c47cde 100644
--- a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_5.ll
+++ b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_5.ll
@@ -43,7 +43,7 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/Ast/reduction_multiple_dimensions.ll b/polly/test/Isl/Ast/reduction_multiple_dimensions.ll
index c4ebe89..24e6467 100644
--- a/polly/test/Isl/Ast/reduction_multiple_dimensions.ll
+++ b/polly/test/Isl/Ast/reduction_multiple_dimensions.ll
@@ -43,7 +43,7 @@
   br i1 %exitcond, label %for.body6, label %for.end
 
 for.body6:                                        ; preds = %for.cond4
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/Ast/reduction_multiple_dimensions_2.ll b/polly/test/Isl/Ast/reduction_multiple_dimensions_2.ll
index 648d21a..ad51156 100644
--- a/polly/test/Isl/Ast/reduction_multiple_dimensions_2.ll
+++ b/polly/test/Isl/Ast/reduction_multiple_dimensions_2.ll
@@ -43,7 +43,7 @@
   br i1 %exitcond, label %for.body6, label %for.end
 
 for.body6:                                        ; preds = %for.cond4
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/Ast/reduction_multiple_dimensions_3.ll b/polly/test/Isl/Ast/reduction_multiple_dimensions_3.ll
index e87e12e..bde7643 100644
--- a/polly/test/Isl/Ast/reduction_multiple_dimensions_3.ll
+++ b/polly/test/Isl/Ast/reduction_multiple_dimensions_3.ll
@@ -43,7 +43,7 @@
   br i1 %exitcond, label %for.body6, label %for.end
 
 for.body6:                                        ; preds = %for.cond4
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/Ast/reduction_multiple_dimensions_4.ll b/polly/test/Isl/Ast/reduction_multiple_dimensions_4.ll
index 8acaece..0c585a4 100644
--- a/polly/test/Isl/Ast/reduction_multiple_dimensions_4.ll
+++ b/polly/test/Isl/Ast/reduction_multiple_dimensions_4.ll
@@ -43,7 +43,7 @@
   br i1 %exitcond, label %for.body6, label %for.end
 
 for.body6:                                        ; preds = %for.cond4
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/Ast/run-time-condition.ll b/polly/test/Isl/Ast/run-time-condition.ll
index 8c7dbf8..36bc820 100644
--- a/polly/test/Isl/Ast/run-time-condition.ll
+++ b/polly/test/Isl/Ast/run-time-condition.ll
@@ -16,10 +16,10 @@
   br i1 %cmp, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i16* %B, i64 0
+  %arrayidx = getelementptr inbounds i16, i16* %B, i64 0
   %load = load i16* %arrayidx
   %add10 = add nsw i16 %load, 1
-  %arrayidx13 = getelementptr inbounds i16* %A, i64 %indvar
+  %arrayidx13 = getelementptr inbounds i16, i16* %A, i64 %indvar
   store i16 %add10, i16* %arrayidx13, align 2
   %inc = add nsw i64 %indvar, 1
   br label %for.cond
diff --git a/polly/test/Isl/Ast/simple-run-time-condition.ll b/polly/test/Isl/Ast/simple-run-time-condition.ll
index a2257f8..7138f58 100644
--- a/polly/test/Isl/Ast/simple-run-time-condition.ll
+++ b/polly/test/Isl/Ast/simple-run-time-condition.ll
@@ -54,7 +54,7 @@
   %subscript0 = mul i64 %offset0, %m
   %offset1 = add nsw i64 %j, %q
   %subscript1 = add i64 %offset1, %subscript0
-  %idx = getelementptr inbounds double* %A, i64 %subscript1
+  %idx = getelementptr inbounds double, double* %A, i64 %subscript1
   store double 1.0, double* %idx
   br label %for.j.inc
 
@@ -79,7 +79,7 @@
   %offset1.1 = add nsw i64 %j.1, %q
   %subscript1.1 = add i64 %offset1.1, %subscript0.1
   %subscript1.2 = sub i64 %subscript1.1, 100
-  %idx.1 = getelementptr inbounds double* %A, i64 %subscript1.2
+  %idx.1 = getelementptr inbounds double, double* %A, i64 %subscript1.2
   store double 1.0, double* %idx.1
   br label %for.j.inc.1
 
diff --git a/polly/test/Isl/Ast/single_loop_strip_mine.ll b/polly/test/Isl/Ast/single_loop_strip_mine.ll
index 252055f..5977702 100644
--- a/polly/test/Isl/Ast/single_loop_strip_mine.ll
+++ b/polly/test/Isl/Ast/single_loop_strip_mine.ll
@@ -17,10 +17,10 @@
   br i1 %cmp, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i16* %B, i64 0
+  %arrayidx = getelementptr inbounds i16, i16* %B, i64 0
   %load = load i16* %arrayidx
   %add10 = add nsw i16 %load, 1
-  %arrayidx13 = getelementptr inbounds i16* %A, i64 %indvar
+  %arrayidx13 = getelementptr inbounds i16, i16* %A, i64 %indvar
   store i16 %add10, i16* %arrayidx13, align 2
   %inc = add nsw i64 %indvar, 1
   br label %for.cond
diff --git a/polly/test/Isl/CodeGen/20100707_2.ll b/polly/test/Isl/CodeGen/20100707_2.ll
index 21673dc..03128ad 100644
--- a/polly/test/Isl/CodeGen/20100707_2.ll
+++ b/polly/test/Isl/CodeGen/20100707_2.ll
@@ -37,44 +37,44 @@
   br label %bb37
 
 bb34:                                             ; preds = %bb35
-  %0 = getelementptr inbounds [36 x double]* undef, i64 0, i64 0 ; <double*> [#uses=0]
-  %1 = getelementptr inbounds [18 x [32 x double]]* undef, i64 0, i64 0 ; <[32 x double]*> [#uses=1]
-  %2 = getelementptr inbounds [32 x double]* %1, i64 0, i64 0 ; <double*> [#uses=0]
-  %3 = getelementptr inbounds [36 x double]* undef, i64 0, i64 0 ; <double*> [#uses=0]
+  %0 = getelementptr inbounds [36 x double], [36 x double]* undef, i64 0, i64 0 ; <double*> [#uses=0]
+  %1 = getelementptr inbounds [18 x [32 x double]], [18 x [32 x double]]* undef, i64 0, i64 0 ; <[32 x double]*> [#uses=1]
+  %2 = getelementptr inbounds [32 x double], [32 x double]* %1, i64 0, i64 0 ; <double*> [#uses=0]
+  %3 = getelementptr inbounds [36 x double], [36 x double]* undef, i64 0, i64 0 ; <double*> [#uses=0]
   %4 = sub nsw i32 17, %k.4                       ; <i32> [#uses=1]
-  %5 = getelementptr inbounds [2 x [2 x [18 x [32 x double]]]]* @sb_sample, i64 0, i64 0 ; <[2 x [18 x [32 x double]]]*> [#uses=1]
-  %6 = getelementptr inbounds [2 x [18 x [32 x double]]]* %5, i64 0, i64 0 ; <[18 x [32 x double]]*> [#uses=1]
+  %5 = getelementptr inbounds [2 x [2 x [18 x [32 x double]]]], [2 x [2 x [18 x [32 x double]]]]* @sb_sample, i64 0, i64 0 ; <[2 x [18 x [32 x double]]]*> [#uses=1]
+  %6 = getelementptr inbounds [2 x [18 x [32 x double]]], [2 x [18 x [32 x double]]]* %5, i64 0, i64 0 ; <[18 x [32 x double]]*> [#uses=1]
   %7 = sext i32 %4 to i64                         ; <i64> [#uses=1]
-  %8 = getelementptr inbounds [18 x [32 x double]]* %6, i64 0, i64 %7 ; <[32 x double]*> [#uses=1]
-  %9 = getelementptr inbounds [32 x double]* %8, i64 0, i64 0 ; <double*> [#uses=1]
+  %8 = getelementptr inbounds [18 x [32 x double]], [18 x [32 x double]]* %6, i64 0, i64 %7 ; <[32 x double]*> [#uses=1]
+  %9 = getelementptr inbounds [32 x double], [32 x double]* %8, i64 0, i64 0 ; <double*> [#uses=1]
   %10 = load double* %9, align 8                  ; <double> [#uses=0]
   %11 = fsub double 0.000000e+00, undef           ; <double> [#uses=1]
-  %12 = getelementptr inbounds double* getelementptr inbounds ([4 x [36 x double]]* @win193, i64 0, i64 2, i64 4), i64 0 ; <double*> [#uses=1]
+  %12 = getelementptr inbounds double, double* getelementptr inbounds ([4 x [36 x double]]* @win193, i64 0, i64 2, i64 4), i64 0 ; <double*> [#uses=1]
   store double %11, double* %12, align 8
   %13 = add nsw i32 %k.4, 9                       ; <i32> [#uses=1]
   %14 = add nsw i32 %k.4, 18                      ; <i32> [#uses=1]
-  %15 = getelementptr inbounds [4 x [36 x double]]* @win193, i64 0, i64 0 ; <[36 x double]*> [#uses=1]
+  %15 = getelementptr inbounds [4 x [36 x double]], [4 x [36 x double]]* @win193, i64 0, i64 0 ; <[36 x double]*> [#uses=1]
   %16 = sext i32 %14 to i64                       ; <i64> [#uses=1]
-  %17 = getelementptr inbounds [36 x double]* %15, i64 0, i64 %16 ; <double*> [#uses=1]
+  %17 = getelementptr inbounds [36 x double], [36 x double]* %15, i64 0, i64 %16 ; <double*> [#uses=1]
   %18 = load double* %17, align 8                 ; <double> [#uses=0]
   %19 = sext i32 %k.4 to i64                      ; <i64> [#uses=1]
-  %20 = getelementptr inbounds [18 x [32 x double]]* undef, i64 0, i64 %19 ; <[32 x double]*> [#uses=1]
+  %20 = getelementptr inbounds [18 x [32 x double]], [18 x [32 x double]]* undef, i64 0, i64 %19 ; <[32 x double]*> [#uses=1]
   %21 = sext i32 %band.2 to i64                   ; <i64> [#uses=1]
-  %22 = getelementptr inbounds [32 x double]* %20, i64 0, i64 %21 ; <double*> [#uses=1]
+  %22 = getelementptr inbounds [32 x double], [32 x double]* %20, i64 0, i64 %21 ; <double*> [#uses=1]
   %23 = load double* %22, align 8                 ; <double> [#uses=0]
   %24 = sext i32 %39 to i64                       ; <i64> [#uses=1]
-  %25 = getelementptr inbounds [4 x [36 x double]]* @win193, i64 0, i64 %24 ; <[36 x double]*> [#uses=1]
-  %26 = getelementptr inbounds [36 x double]* %25, i64 0, i64 0 ; <double*> [#uses=1]
+  %25 = getelementptr inbounds [4 x [36 x double]], [4 x [36 x double]]* @win193, i64 0, i64 %24 ; <[36 x double]*> [#uses=1]
+  %26 = getelementptr inbounds [36 x double], [36 x double]* %25, i64 0, i64 0 ; <double*> [#uses=1]
   %27 = load double* %26, align 8                 ; <double> [#uses=0]
   %28 = sub nsw i32 17, %k.4                      ; <i32> [#uses=1]
-  %29 = getelementptr inbounds [2 x [2 x [18 x [32 x double]]]]* @sb_sample, i64 0, i64 0 ; <[2 x [18 x [32 x double]]]*> [#uses=1]
-  %30 = getelementptr inbounds [2 x [18 x [32 x double]]]* %29, i64 0, i64 0 ; <[18 x [32 x double]]*> [#uses=1]
+  %29 = getelementptr inbounds [2 x [2 x [18 x [32 x double]]]], [2 x [2 x [18 x [32 x double]]]]* @sb_sample, i64 0, i64 0 ; <[2 x [18 x [32 x double]]]*> [#uses=1]
+  %30 = getelementptr inbounds [2 x [18 x [32 x double]]], [2 x [18 x [32 x double]]]* %29, i64 0, i64 0 ; <[18 x [32 x double]]*> [#uses=1]
   %31 = sext i32 %28 to i64                       ; <i64> [#uses=1]
-  %32 = getelementptr inbounds [18 x [32 x double]]* %30, i64 0, i64 %31 ; <[32 x double]*> [#uses=1]
-  %33 = getelementptr inbounds [32 x double]* %32, i64 0, i64 0 ; <double*> [#uses=1]
+  %32 = getelementptr inbounds [18 x [32 x double]], [18 x [32 x double]]* %30, i64 0, i64 %31 ; <[32 x double]*> [#uses=1]
+  %33 = getelementptr inbounds [32 x double], [32 x double]* %32, i64 0, i64 0 ; <double*> [#uses=1]
   %34 = load double* %33, align 8                 ; <double> [#uses=0]
   %35 = sext i32 %13 to i64                       ; <i64> [#uses=1]
-  %36 = getelementptr inbounds double* getelementptr inbounds ([4 x [36 x double]]* @win193, i64 0, i64 2, i64 4), i64 %35 ; <double*> [#uses=1]
+  %36 = getelementptr inbounds double, double* getelementptr inbounds ([4 x [36 x double]]* @win193, i64 0, i64 2, i64 4), i64 %35 ; <double*> [#uses=1]
   store double 0.000000e+00, double* %36, align 8
   %37 = sub nsw i32 %k.4, 1                       ; <i32> [#uses=1]
   br label %bb35
diff --git a/polly/test/Isl/CodeGen/20100713_2.ll b/polly/test/Isl/CodeGen/20100713_2.ll
index 7ffeec8..5a4b7a5 100644
--- a/polly/test/Isl/CodeGen/20100713_2.ll
+++ b/polly/test/Isl/CodeGen/20100713_2.ll
@@ -26,7 +26,7 @@
   unreachable
 
 bb6:                                              ; preds = %bb4
-  %1 = getelementptr inbounds i8* undef, i64 %0   ; <i8*> [#uses=0]
+  %1 = getelementptr inbounds i8, i8* undef, i64 %0   ; <i8*> [#uses=0]
   ret void
 
 return:                                           ; preds = %bb, %entry
diff --git a/polly/test/Isl/CodeGen/20100717.ll b/polly/test/Isl/CodeGen/20100717.ll
index 61f9136fb..9fd3a75 100644
--- a/polly/test/Isl/CodeGen/20100717.ll
+++ b/polly/test/Isl/CodeGen/20100717.ll
@@ -11,11 +11,11 @@
   br label %bb2
 
 bb1:                                              ; preds = %bb2
-  %1 = getelementptr inbounds double** %A, i64 0  ; <double**> [#uses=0]
-  %2 = getelementptr inbounds double** %A, i64 0  ; <double**> [#uses=0]
-  %3 = getelementptr inbounds double** %A, i64 0  ; <double**> [#uses=0]
+  %1 = getelementptr inbounds double*, double** %A, i64 0  ; <double**> [#uses=0]
+  %2 = getelementptr inbounds double*, double** %A, i64 0  ; <double**> [#uses=0]
+  %3 = getelementptr inbounds double*, double** %A, i64 0  ; <double**> [#uses=0]
   %4 = sext i32 %j.0 to i64                       ; <i64> [#uses=1]
-  %5 = getelementptr inbounds double** %A, i64 %4 ; <double**> [#uses=1]
+  %5 = getelementptr inbounds double*, double** %A, i64 %4 ; <double**> [#uses=1]
   %6 = load double** %5, align 8                  ; <double*> [#uses=0]
   %7 = add nsw i32 %j.0, 1                        ; <i32> [#uses=1]
   br label %bb2
diff --git a/polly/test/Isl/CodeGen/20100720-MultipleConditions.ll b/polly/test/Isl/CodeGen/20100720-MultipleConditions.ll
index f8d7159..3d1781e 100644
--- a/polly/test/Isl/CodeGen/20100720-MultipleConditions.ll
+++ b/polly/test/Isl/CodeGen/20100720-MultipleConditions.ll
@@ -37,7 +37,7 @@
 
 ; <label>:1                                       ; preds = %12, %0
   %indvar = phi i64 [ %indvar.next, %12 ], [ 0, %0 ] ; <i64> [#uses=4]
-  %scevgep = getelementptr [100 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=3]
+  %scevgep = getelementptr [100 x i32], [100 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=3]
   %i.0 = trunc i64 %indvar to i32                 ; <i32> [#uses=3]
   %exitcond = icmp ne i64 %indvar, 100            ; <i1> [#uses=1]
   br i1 %exitcond, label %2, label %13
@@ -76,7 +76,7 @@
 ; <label>:13                                      ; preds = %1
   fence seq_cst
   %14 = sext i32 undef to i64                     ; <i64> [#uses=1]
-  %15 = getelementptr inbounds i32* getelementptr inbounds ([100 x i32]* @A, i32 0, i32 0), i64 %14 ; <i32*> [#uses=1]
+  %15 = getelementptr inbounds i32, i32* getelementptr inbounds ([100 x i32]* @A, i32 0, i32 0), i64 %14 ; <i32*> [#uses=1]
   %16 = load i32* %15                             ; <i32> [#uses=1]
   ret i32 %16
 }
diff --git a/polly/test/Isl/CodeGen/20100809-IndependentBlock.ll b/polly/test/Isl/CodeGen/20100809-IndependentBlock.ll
index 695c2cd..5dc6d15 100644
--- a/polly/test/Isl/CodeGen/20100809-IndependentBlock.ll
+++ b/polly/test/Isl/CodeGen/20100809-IndependentBlock.ll
@@ -14,7 +14,7 @@
   br i1 false, label %bb21, label %bb23
 
 bb21:                                             ; preds = %bb20
-  %0 = getelementptr inbounds [2 x float]* %x, i64 undef ; <[2 x float]*> [#uses=1]
+  %0 = getelementptr inbounds [2 x float], [2 x float]* %x, i64 undef ; <[2 x float]*> [#uses=1]
   store [2 x float]* %0, [2 x float]** %d.1.reg2mem
   br label %bb23
 
@@ -23,7 +23,7 @@
   br i1 undef, label %bb29, label %bb34
 
 bb29:                                             ; preds = %bb23
-  %1 = getelementptr inbounds [2 x float]* %d.1.reload, i64 undef ; <[2 x float]*> [#uses=0]
+  %1 = getelementptr inbounds [2 x float], [2 x float]* %d.1.reload, i64 undef ; <[2 x float]*> [#uses=0]
   br label %bb34
 
 bb34:                                             ; preds = %bb29, %bb23, %entry
diff --git a/polly/test/Isl/CodeGen/20101103-Overflow3.ll b/polly/test/Isl/CodeGen/20101103-Overflow3.ll
index 952c26a..7ebb3e9 100644
--- a/polly/test/Isl/CodeGen/20101103-Overflow3.ll
+++ b/polly/test/Isl/CodeGen/20101103-Overflow3.ll
@@ -9,7 +9,7 @@
   br label %bb22
 
 bb21:                                             ; preds = %bb22
-  %r_addr.1.moved.to.bb21 = getelementptr i16* %r, i64 0
+  %r_addr.1.moved.to.bb21 = getelementptr i16, i16* %r, i64 0
   store i16 0, i16* %r_addr.1.moved.to.bb21, align 2
   %indvar.next = add i64 %indvar, 1
   br label %bb22
diff --git a/polly/test/Isl/CodeGen/20130211-getNumberOfIterations.ll b/polly/test/Isl/CodeGen/20130211-getNumberOfIterations.ll
index 2fe74a6..02c3774 100644
--- a/polly/test/Isl/CodeGen/20130211-getNumberOfIterations.ll
+++ b/polly/test/Isl/CodeGen/20130211-getNumberOfIterations.ll
@@ -18,7 +18,7 @@
   br i1 %cmp, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds [2048 x i64]* @b, i64 0, i64 %indvar
+  %arrayidx = getelementptr inbounds [2048 x i64], [2048 x i64]* @b, i64 0, i64 %indvar
   store i64 1, i64* %arrayidx
   %inc = add nsw i64 %indvar, 1
   br label %for.cond
diff --git a/polly/test/Isl/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll b/polly/test/Isl/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
index 2350ed1..f58a22b 100644
--- a/polly/test/Isl/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
+++ b/polly/test/Isl/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
@@ -16,7 +16,7 @@
 
 for.body:                                         ; preds = %for.body, %entry
   %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
-  %arrayidx = getelementptr inbounds i32* %0, i64 %indvars.iv, !dbg !21
+  %arrayidx = getelementptr inbounds i32, i32* %0, i64 %indvars.iv, !dbg !21
   %1 = load i32* %arrayidx, align 4, !dbg !21, !tbaa !30
   %add = add nsw i32 %1, 1, !dbg !21
   store i32 %add, i32* %arrayidx, align 4, !dbg !21, !tbaa !30
diff --git a/polly/test/Isl/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll b/polly/test/Isl/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
index d9d06a8..45d9811 100644
--- a/polly/test/Isl/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
+++ b/polly/test/Isl/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
@@ -43,7 +43,7 @@
   %tmp = add nsw i64 %indvars.iv3, %indvars.iv
   %tmp7 = shl nsw i64 %indvars.iv3, 9
   %tmp8 = add nsw i64 %tmp7, %indvars.iv
-  %arrayidx = getelementptr inbounds i32* %A, i64 %tmp8
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %tmp8
   %tmp9 = trunc i64 %tmp to i32
   store i32 %tmp9, i32* %arrayidx, align 4
   br label %for.inc
diff --git a/polly/test/Isl/CodeGen/LoopParallelMD/single_loop_param_parallel.ll b/polly/test/Isl/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
index 325e929..7f86462 100644
--- a/polly/test/Isl/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
+++ b/polly/test/Isl/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
@@ -21,7 +21,7 @@
   br i1 %exitcond, label %loop.body, label %ret
 
 loop.body:
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %i
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %i
   store i32 1, i32* %scevgep
   br label %loop.backedge
 
@@ -61,10 +61,10 @@
 loop.body:
   %loadoffset1 = mul nsw i64 %i, 2
   %loadoffset2 = add nsw i64 %loadoffset1, 1
-  %scevgepload = getelementptr [1024 x i32]* @A, i64 0, i64 %loadoffset2
+  %scevgepload = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %loadoffset2
   %val = load i32* %scevgepload
   %storeoffset = mul i64 %i, 2
-  %scevgepstore = getelementptr [1024 x i32]* @A, i64 0, i64 %storeoffset
+  %scevgepstore = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %storeoffset
   store i32 %val, i32* %scevgepstore
   br label %loop.backedge
 
diff --git a/polly/test/Isl/CodeGen/MemAccess/bad_alignment.ll b/polly/test/Isl/CodeGen/MemAccess/bad_alignment.ll
index e39b8ae..61afde7 100644
--- a/polly/test/Isl/CodeGen/MemAccess/bad_alignment.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/bad_alignment.ll
@@ -22,7 +22,7 @@
   br i1 %cmp, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   %tmp = trunc i64 %indvars.iv to i32
   store i32 %tmp, i32* %arrayidx, align 8
   br label %for.inc
diff --git a/polly/test/Isl/CodeGen/MemAccess/codegen_constant_offset.ll b/polly/test/Isl/CodeGen/MemAccess/codegen_constant_offset.ll
index 0022c87..e2b8841 100644
--- a/polly/test/Isl/CodeGen/MemAccess/codegen_constant_offset.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/codegen_constant_offset.ll
@@ -21,8 +21,8 @@
 for.cond:                                         ; preds = %for.inc, %entry
   %tmp1 = phi i32 [ 0, %entry ], [ %inc, %for.inc ]
   %tmp = add i32 %tmp1, -1
-  %arrayidx4 = getelementptr [100 x i32]* @A, i32 0, i32 %tmp
-  %arrayidx = getelementptr [100 x i32]* @A, i32 0, i32 %tmp1
+  %arrayidx4 = getelementptr [100 x i32], [100 x i32]* @A, i32 0, i32 %tmp
+  %arrayidx = getelementptr [100 x i32], [100 x i32]* @A, i32 0, i32 %tmp1
   %exitcond = icmp ne i32 %tmp1, 12
   br i1 %exitcond, label %for.body, label %for.end
 
diff --git a/polly/test/Isl/CodeGen/MemAccess/codegen_simple.ll b/polly/test/Isl/CodeGen/MemAccess/codegen_simple.ll
index 8c22db1..6baaad1 100644
--- a/polly/test/Isl/CodeGen/MemAccess/codegen_simple.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/codegen_simple.ll
@@ -21,8 +21,8 @@
 for.cond:                                         ; preds = %for.inc, %entry
   %tmp1 = phi i32 [ 0, %entry ], [ %inc, %for.inc ]
   %tmp = add i32 %tmp1, -1
-  %arrayidx4 = getelementptr [100 x i32]* @A, i32 0, i32 %tmp
-  %arrayidx = getelementptr [100 x i32]* @A, i32 0, i32 %tmp1
+  %arrayidx4 = getelementptr [100 x i32], [100 x i32]* @A, i32 0, i32 %tmp
+  %arrayidx = getelementptr [100 x i32], [100 x i32]* @A, i32 0, i32 %tmp1
   %exitcond = icmp ne i32 %tmp1, 12
   br i1 %exitcond, label %for.body, label %for.end
 
diff --git a/polly/test/Isl/CodeGen/MemAccess/codegen_simple_float.ll b/polly/test/Isl/CodeGen/MemAccess/codegen_simple_float.ll
index 6108eee..0ed7dd7 100644
--- a/polly/test/Isl/CodeGen/MemAccess/codegen_simple_float.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/codegen_simple_float.ll
@@ -19,8 +19,8 @@
 for.cond:                                         ; preds = %for.inc, %entry
   %tmp1 = phi i32 [ 0, %entry ], [ %inc, %for.inc ]
   %tmp = add i32 %tmp1, -1
-  %arrayidx4 = getelementptr [100 x float]* @A, i32 0, i32 %tmp
-  %arrayidx = getelementptr [100 x float]* @A, i32 0, i32 %tmp1
+  %arrayidx4 = getelementptr [100 x float], [100 x float]* @A, i32 0, i32 %tmp
+  %arrayidx = getelementptr [100 x float], [100 x float]* @A, i32 0, i32 %tmp1
   %exitcond = icmp ne i32 %tmp1, 12
   br i1 %exitcond, label %for.body, label %for.end
 
diff --git a/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md.ll b/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md.ll
index 2b629b2..fbc3ba1 100644
--- a/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md.ll
@@ -38,7 +38,7 @@
 for.body3:                                        ; preds = %for.cond1
   %mul = shl nsw i32 %i.0, 5
   %add = add nsw i32 %mul, %j.0
-  %arrayidx = getelementptr inbounds [1040 x i32]* @A, i32 0, i32 %add
+  %arrayidx = getelementptr inbounds [1040 x i32], [1040 x i32]* @A, i32 0, i32 %add
   store i32 100, i32* %arrayidx, align 4
   br label %for.inc
 
@@ -63,7 +63,7 @@
 ; WITHCONST:  %[[MUL2:[._a-zA-Z0-9]+]] = mul nsw i64 2, %[[IVIn]]
 ; WITHCONST:  %[[SUM1:[._a-zA-Z0-9]+]] = add nsw i64 %[[MUL1]], %[[MUL2]]
 ; WITHCONST:  %[[SUM2:[._a-zA-Z0-9]+]] = add nsw i64 %[[SUM1]], 5
-; WITHCONST:  %[[ACC:[._a-zA-Z0-9]*]] = getelementptr i32* getelementptr inbounds ([1040 x i32]* @A, i{{(32|64)}} 0, i{{(32|64)}} 0), i64 %[[SUM2]]
+; WITHCONST:  %[[ACC:[._a-zA-Z0-9]*]] = getelementptr i32, i32* getelementptr inbounds ([1040 x i32]* @A, i{{(32|64)}} 0, i{{(32|64)}} 0), i64 %[[SUM2]]
 ; WITHCONST:  store i32 100, i32* %[[ACC]]
 
 ; WITHOUTCONST:  %[[IVOut:polly.indvar[0-9]*]] = phi i64 [ 0, %polly.loop_preheader{{[0-9]*}} ], [ %polly.indvar_next{{[0-9]*}}, %polly.{{[._a-zA-Z0-9]*}} ]
@@ -71,5 +71,5 @@
 ; WITHOUTCONST:  %[[MUL1:[._a-zA-Z0-9]+]] = mul nsw i64 16, %[[IVOut]]
 ; WITHOUTCONST:  %[[MUL2:[._a-zA-Z0-9]+]] = mul nsw i64 2, %[[IVIn]]
 ; WITHOUTCONST:  %[[SUM1:[._a-zA-Z0-9]+]] = add nsw i64 %[[MUL1]], %[[MUL2]]
-; WITHOUTCONST:  %[[ACC:[._a-zA-Z0-9]*]] = getelementptr i32* getelementptr inbounds ([1040 x i32]* @A, i{{(32|64)}} 0, i{{(32|64)}} 0), i64 %[[SUM1]]
+; WITHOUTCONST:  %[[ACC:[._a-zA-Z0-9]*]] = getelementptr i32, i32* getelementptr inbounds ([1040 x i32]* @A, i{{(32|64)}} 0, i{{(32|64)}} 0), i64 %[[SUM1]]
 ; WITHOUTCONST:  store i32 100, i32* %[[ACC]]
diff --git a/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md_float.ll b/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md_float.ll
index e0fa1ef..0dc28a9 100644
--- a/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md_float.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/codegen_simple_md_float.ll
@@ -34,7 +34,7 @@
 for.body3:                                        ; preds = %for.cond1
   %mul = shl nsw i32 %i.0, 5
   %add = add nsw i32 %mul, %j.0
-  %arrayidx = getelementptr inbounds [1040 x float]* @A, i32 0, i32 %add
+  %arrayidx = getelementptr inbounds [1040 x float], [1040 x float]* @A, i32 0, i32 %add
   store float 100.0, float* %arrayidx, align 4
   br label %for.inc
 
@@ -59,7 +59,7 @@
 ; WITHCONST:  %[[MUL2:[._a-zA-Z0-9]+]] = mul nsw i64 2, %[[IVIn]]
 ; WITHCONST:  %[[SUM1:[._a-zA-Z0-9]+]] = add nsw i64 %[[MUL1]], %[[MUL2]]
 ; WITHCONST:  %[[SUM2:[._a-zA-Z0-9]+]] = add nsw i64 %[[SUM1]], 5
-; WITHCONST:  %[[ACC:[._a-zA-Z0-9]*]] = getelementptr float* getelementptr inbounds ([1040 x float]* @A, i{{(32|64)}} 0, i{{(32|64)}} 0), i64 %[[SUM2]]
+; WITHCONST:  %[[ACC:[._a-zA-Z0-9]*]] = getelementptr float, float* getelementptr inbounds ([1040 x float]* @A, i{{(32|64)}} 0, i{{(32|64)}} 0), i64 %[[SUM2]]
 ; WITHCONST:  store float 1.000000e+02, float* %[[ACC]]
 
 ; WITHOUTCONST:  %[[IVOut:polly.indvar[0-9]*]] = phi i64 [ 0, %polly.loop_preheader{{[0-9]*}} ], [ %polly.indvar_next{{[0-9]*}}, %polly.{{[._a-zA-Z0-9]*}} ]
@@ -67,5 +67,5 @@
 ; WITHOUTCONST:  %[[MUL1:[._a-zA-Z0-9]+]] = mul nsw i64 16, %[[IVOut]]
 ; WITHOUTCONST:  %[[MUL2:[._a-zA-Z0-9]+]] = mul nsw i64 2, %[[IVIn]]
 ; WITHOUTCONST:  %[[SUM1:[._a-zA-Z0-9]+]] = add nsw i64 %[[MUL1]], %[[MUL2]]
-; WITHOUTCONST:  %[[ACC:[._a-zA-Z0-9]*]] = getelementptr float* getelementptr inbounds ([1040 x float]* @A, i{{(32|64)}} 0, i{{(32|64)}} 0), i64 %[[SUM1]]
+; WITHOUTCONST:  %[[ACC:[._a-zA-Z0-9]*]] = getelementptr float, float* getelementptr inbounds ([1040 x float]* @A, i{{(32|64)}} 0, i{{(32|64)}} 0), i64 %[[SUM1]]
 ; WITHOUTCONST:  store float 1.000000e+02, float* %[[ACC]]
diff --git a/polly/test/Isl/CodeGen/MemAccess/default_aligned_new_access_function.ll b/polly/test/Isl/CodeGen/MemAccess/default_aligned_new_access_function.ll
index 64fc838..f823307 100644
--- a/polly/test/Isl/CodeGen/MemAccess/default_aligned_new_access_function.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/default_aligned_new_access_function.ll
@@ -25,10 +25,10 @@
 
 for.body:                                         ; preds = %for.cond
   %tmp = shl nsw i64 %indvars.iv, 1
-  %arrayidx = getelementptr inbounds i32* %B, i64 %tmp
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %tmp
   %tmp4 = load i32* %arrayidx, align 4
   %tmp5 = shl nsw i64 %indvars.iv, 1
-  %arrayidx3 = getelementptr inbounds i32* %A, i64 %tmp5
+  %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %tmp5
   store i32 %tmp4, i32* %arrayidx3, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/CodeGen/MemAccess/simple.ll b/polly/test/Isl/CodeGen/MemAccess/simple.ll
index fa75c57..b52ab3c 100644
--- a/polly/test/Isl/CodeGen/MemAccess/simple.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/simple.ll
@@ -31,7 +31,7 @@
 
 for.cond:                                         ; preds = %for.inc, %entry
   %0 = phi i32 [ 0, %entry ], [ %inc, %for.inc ]
-  %arrayidx = getelementptr [100 x i32]* @A, i32 0, i32 %0
+  %arrayidx = getelementptr [100 x i32], [100 x i32]* @A, i32 0, i32 %0
   %exitcond1 = icmp ne i32 %0, 12
   br i1 %exitcond1, label %for.body, label %for.end
 
@@ -48,7 +48,7 @@
 
 for.cond4:                                        ; preds = %for.inc11, %for.end
   %1 = phi i32 [ 0, %for.end ], [ %inc13, %for.inc11 ]
-  %arrayidx10 = getelementptr [100 x i32]* @B, i32 0, i32 %1
+  %arrayidx10 = getelementptr [100 x i32], [100 x i32]* @B, i32 0, i32 %1
   %exitcond = icmp ne i32 %1, 12
   br i1 %exitcond, label %for.body7, label %for.end14
 
diff --git a/polly/test/Isl/CodeGen/MemAccess/simple_analyze.ll b/polly/test/Isl/CodeGen/MemAccess/simple_analyze.ll
index f1481d4..1636af2 100644
--- a/polly/test/Isl/CodeGen/MemAccess/simple_analyze.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/simple_analyze.ll
@@ -11,7 +11,7 @@
 
 for.cond:                                         ; preds = %for.inc, %entry
   %0 = phi i32 [ 0, %entry ], [ %inc, %for.inc ]
-  %arrayidx = getelementptr [100 x i32]* @A, i32 0, i32 %0
+  %arrayidx = getelementptr [100 x i32], [100 x i32]* @A, i32 0, i32 %0
   %exitcond1 = icmp ne i32 %0, 12
   br i1 %exitcond1, label %for.body, label %for.end
 
@@ -29,7 +29,7 @@
 
 for.cond4:                                        ; preds = %for.inc11, %for.end
   %1 = phi i32 [ 0, %for.end ], [ %inc13, %for.inc11 ]
-  %arrayidx10 = getelementptr [100 x i32]* @B, i32 0, i32 %1
+  %arrayidx10 = getelementptr [100 x i32], [100 x i32]* @B, i32 0, i32 %1
   %exitcond = icmp ne i32 %1, 12
   br i1 %exitcond, label %for.body7, label %for.end14
 
diff --git a/polly/test/Isl/CodeGen/MemAccess/simple_stride_test.ll b/polly/test/Isl/CodeGen/MemAccess/simple_stride_test.ll
index 8cb7083..5a5faaa 100644
--- a/polly/test/Isl/CodeGen/MemAccess/simple_stride_test.ll
+++ b/polly/test/Isl/CodeGen/MemAccess/simple_stride_test.ll
@@ -4,12 +4,12 @@
 ;    stride zero for B
 ;    stride one for A
 ;
-; CHECK:  %polly.access.B = getelementptr i32* %B, i64 0
+; CHECK:  %polly.access.B = getelementptr i32, i32* %B, i64 0
 ; CHECK:  %[[BC:[._a-zA-Z0-9]*]] = bitcast i32* %polly.access.B to <1 x i32>*
 ; CHECK:  %[[LD:[._a-zA-Z0-9]*]] = load <1 x i32>* %[[BC]], align 8
 ; CHECK:  %[[SV:[._a-zA-Z0-9]*]] = shufflevector <1 x i32> %[[LD]], <1 x i32> %[[LD]], <16 x i32> zeroinitializer
 ;
-; CHECK:  %polly.access.A = getelementptr i32* %A, i64 0
+; CHECK:  %polly.access.A = getelementptr i32, i32* %A, i64 0
 ; CHECK:  %[[VP:[._a-zA-Z0-9]*]] = bitcast i32* %polly.access.A to <16 x i32>*
 ; CHECK:  store <16 x i32> %[[SV]], <16 x i32>* %[[VP]], align 8
 ;
@@ -31,10 +31,10 @@
 
 for.body:                                         ; preds = %for.cond
   %tmp = shl nsw i64 %indvars.iv, 1
-  %arrayidx = getelementptr inbounds i32* %B, i64 %tmp
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %tmp
   %tmp4 = load i32* %arrayidx, align 4
   %tmp5 = shl nsw i64 %indvars.iv, 1
-  %arrayidx3 = getelementptr inbounds i32* %A, i64 %tmp5
+  %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %tmp5
   store i32 %tmp4, i32* %arrayidx3, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-iv.ll b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-iv.ll
index 936a790d..fb3af7b 100644
--- a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-iv.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-iv.ll
@@ -27,7 +27,7 @@
 for.j:
   %indvar.j = phi i64 [ %indvar.j.next, %for.j], [ 0, %for.i ]
   %sum = add i64 %indvar.j, %indvar.i
-  %scevgep = getelementptr [1024 x float]* @A, i64 0, i64 %sum
+  %scevgep = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %sum
   store float 0.0, float *%scevgep
   %indvar.j.next = add i64 %indvar.j, 1
   %exitcond.j = icmp slt i64 %indvar.j.next, 1024
diff --git a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-2.ll b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
index 85d9930..b68d698 100644
--- a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
@@ -6,7 +6,7 @@
 ; AST: for (int c0 = 0; c0 <= 1023; c0 += 1)
 ; AST:   Stmt_for_i(c0);
 
-; IR: getelementptr inbounds { [1024 x double]* }* %polly.par.userContext, i32 0, i32 0
+; IR: getelementptr inbounds { [1024 x double]* }, { [1024 x double]* }* %polly.par.userContext, i32 0, i32 0
 
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
@@ -21,7 +21,7 @@
 
 for.i:
   %indvar.i = phi i64 [ %indvar.i.next, %for.i ], [ 0, %for.cond1.preheader ]
-  %getelementptr = getelementptr [1024 x double]* %B, i64 %extern, i64 %indvar.i
+  %getelementptr = getelementptr [1024 x double], [1024 x double]* %B, i64 %extern, i64 %indvar.i
   store double 0.000000e+00, double* %getelementptr
   %indvar.i.next = add i64 %indvar.i, 1
   %exitcond.i = icmp ne i64 %indvar.i.next, 1024
diff --git a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
index 9678e03..d3e66ce 100644
--- a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
@@ -24,9 +24,9 @@
 
 for.body:
   %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %entry ]
-  %arrayidx = getelementptr inbounds i64** %tmp, i64 0
+  %arrayidx = getelementptr inbounds i64*, i64** %tmp, i64 0
   %tmp1 = load i64** %arrayidx, align 8
-  %arrayidx.2 = getelementptr inbounds i64* %tmp1, i64 %indvar
+  %arrayidx.2 = getelementptr inbounds i64, i64* %tmp1, i64 %indvar
   store i64 1, i64* %arrayidx.2, align 4
   %indvar.next = add nsw i64 %indvar, 1
   %cmp = icmp slt i64 %indvar.next, %cols
@@ -48,13 +48,13 @@
 define void @bar(i64 %cols, i8* noalias %call) {
 entry:
   %tmp = bitcast i8* %call to i64**
-  %arrayidx = getelementptr inbounds i64** %tmp, i64 0
+  %arrayidx = getelementptr inbounds i64*, i64** %tmp, i64 0
   br label %for.body
 
 for.body:
   %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %entry ]
   %tmp1 = load i64** %arrayidx, align 8
-  %arrayidx.2 = getelementptr inbounds i64* %tmp1, i64 %indvar
+  %arrayidx.2 = getelementptr inbounds i64, i64* %tmp1, i64 %indvar
   store i64 1, i64* %arrayidx.2, align 4
   %indvar.next = add nsw i64 %indvar, 1
   %cmp = icmp slt i64 %indvar.next, %cols
diff --git a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll
index 062f95b4..129c8f9 100644
--- a/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values.ll
@@ -18,7 +18,7 @@
 ; IR-LABEL: polly.start:
 ; IR-NEXT:  %0 = bitcast { float* }* %polly.par.userContext to i8*
 ; IR-NEXT:  call void @llvm.lifetime.start(i64 8, i8* %0)
-; IR-NEXT:  %1 = getelementptr inbounds { float* }* %polly.par.userContext, i32 0, i32 0
+; IR-NEXT:  %1 = getelementptr inbounds { float* }, { float* }* %polly.par.userContext, i32 0, i32 0
 ; IR-NEXT:  store float* %A, float** %1
 ; IR-NEXT:  %polly.par.userContext1 = bitcast { float* }* %polly.par.userContext to i8*
 
@@ -35,7 +35,7 @@
 
 for.body:                                         ; preds = %for.cond
   %conv = sitofp i64 %i.0 to float
-  %arrayidx = getelementptr inbounds float* %A, i64 %i.0
+  %arrayidx = getelementptr inbounds float, float* %A, i64 %i.0
   store float %conv, float* %arrayidx, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll b/polly/test/Isl/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
index 7925ce8..9524583 100644
--- a/polly/test/Isl/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
@@ -26,17 +26,17 @@
 ; IR:      %polly.par.userContext = alloca { i64, i64 }
 ; IR:      %[[R0:[0-9]+]] = bitcast { i64, i64 }* %polly.par.userContext to i8*
 ; IR-NEXT: call void @llvm.lifetime.start(i64 16, i8* %[[R0]])
-; IR-NEXT: %[[R1:[0-9]+]] = getelementptr inbounds { i64, i64 }* %polly.par.userContext, i32 0, i32 0
+; IR-NEXT: %[[R1:[0-9]+]] = getelementptr inbounds { i64, i64 }, { i64, i64 }* %polly.par.userContext, i32 0, i32 0
 ; IR-NEXT: store i64 %n, i64* %[[R1]]
-; IR-NEXT: %[[R2:[0-9]+]] = getelementptr inbounds { i64, i64 }* %polly.par.userContext, i32 0, i32 1
+; IR-NEXT: %[[R2:[0-9]+]] = getelementptr inbounds { i64, i64 }, { i64, i64 }* %polly.par.userContext, i32 0, i32 1
 ; IR-NEXT: store i64 %polly.indvar, i64* %[[R2]]
 ; IR-NEXT: %polly.par.userContext1 = bitcast { i64, i64 }* %polly.par.userContext to i8*
 
 ; IR-LABEL: @loop_references_outer_ids.polly.subfn(i8* %polly.par.userContext)
 ; IR:       %polly.par.userContext1 = bitcast i8* %polly.par.userContext to { i64, i64 }*
-; IR-NEXT:  %[[R3:[0-9]+]] = getelementptr inbounds { i64, i64 }* %polly.par.userContext1, i32 0, i32 0
+; IR-NEXT:  %[[R3:[0-9]+]] = getelementptr inbounds { i64, i64 }, { i64, i64 }* %polly.par.userContext1, i32 0, i32 0
 ; IR-NEXT:  %[[R4:[0-9]+]] = load i64* %[[R3]]
-; IR-NEXT:  %[[R5:[0-9]+]] = getelementptr inbounds { i64, i64 }* %polly.par.userContext1, i32 0, i32 1
+; IR-NEXT:  %[[R5:[0-9]+]] = getelementptr inbounds { i64, i64 }, { i64, i64 }* %polly.par.userContext1, i32 0, i32 1
 ; IR-NEXT:  %[[R6:[0-9]+]] = load i64* %[[R5]]
 
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
@@ -73,7 +73,7 @@
   %add7 = add nsw i64 %i.0, %j.0
   %add8 = add nsw i64 %add7, %k.0
   %conv = sitofp i64 %add8 to float
-  %arrayidx = getelementptr inbounds [100 x float]* @A, i64 0, i64 %j.0
+  %arrayidx = getelementptr inbounds [100 x float], [100 x float]* @A, i64 0, i64 %j.0
   %tmp = load float* %arrayidx, align 4
   %add9 = fadd float %tmp, %conv
   store float %add9, float* %arrayidx, align 4
diff --git a/polly/test/Isl/CodeGen/OpenMP/reference-other-bb.ll b/polly/test/Isl/CodeGen/OpenMP/reference-other-bb.ll
index 934a2dd..4a6d63e 100644
--- a/polly/test/Isl/CodeGen/OpenMP/reference-other-bb.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/reference-other-bb.ll
@@ -16,7 +16,7 @@
 for.body:
   %i.16 = phi i32 [ %inc04, %for.body ], [ 0, %sw.bb3 ]
   %idxprom11 = sext i32 %i.16 to i64
-  %arrayidx12 = getelementptr inbounds double* %tmp, i64 %idxprom11
+  %arrayidx12 = getelementptr inbounds double, double* %tmp, i64 %idxprom11
   store double 1.0, double* %arrayidx12, align 8
   %inc04 = add nsw i32 %i.16, 1
   %cmp7 = icmp slt i32 %inc04, %sendcount
diff --git a/polly/test/Isl/CodeGen/OpenMP/reference-preceeding-loop.ll b/polly/test/Isl/CodeGen/OpenMP/reference-preceeding-loop.ll
index 8d620d43..82e2799 100644
--- a/polly/test/Isl/CodeGen/OpenMP/reference-preceeding-loop.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/reference-preceeding-loop.ll
@@ -37,7 +37,7 @@
 while.body:
   %indvar = phi i64 [ %sub42, %while.body ], [ %i.1, %for.one ]
   %sub42 = add nsw i64 %indvar, -1
-  %arrayidx44 = getelementptr inbounds [258 x i64]* @cum_freq, i64 0, i64 %sub42
+  %arrayidx44 = getelementptr inbounds [258 x i64], [258 x i64]* @cum_freq, i64 0, i64 %sub42
   store i64 1, i64* %arrayidx44, align 4
   %cmp40 = icmp sgt i64 %sub42, 0
   br i1 %cmp40, label %while.body, label %while.end
diff --git a/polly/test/Isl/CodeGen/OpenMP/single_loop.ll b/polly/test/Isl/CodeGen/OpenMP/single_loop.ll
index 4c1cdd2..9a1fa5d 100644
--- a/polly/test/Isl/CodeGen/OpenMP/single_loop.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/single_loop.ll
@@ -73,7 +73,7 @@
 ; IR-NEXT:   br label %polly.stmt.S
 
 ; IR-LABEL: polly.stmt.S:
-; IR-NEXT:   %[[gep:[._a-zA-Z0-9]*]] = getelementptr [1024 x float]* {{.*}}, i64 0, i64 %polly.indvar
+; IR-NEXT:   %[[gep:[._a-zA-Z0-9]*]] = getelementptr [1024 x float], [1024 x float]* {{.*}}, i64 0, i64 %polly.indvar
 ; IR-NEXT:   store float 1.000000e+00, float* %[[gep]]
 ; IR-NEXT:   %polly.indvar_next = add nsw i64 %polly.indvar, 1
 ; IR-NEXT:   %polly.adjust_ub = sub i64 %polly.par.UBAdjusted, 1
@@ -101,7 +101,7 @@
 
 for.i:
   %indvar = phi i64 [ %indvar.next, %for.inc], [ 0, %entry ]
-  %scevgep = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %scevgep = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %exitcond = icmp ne i64 %indvar, 1024
   br i1 %exitcond, label %S, label %exit
 
diff --git a/polly/test/Isl/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll b/polly/test/Isl/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
index 2121331..98fca4e6 100644
--- a/polly/test/Isl/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
@@ -30,7 +30,7 @@
 
 S:
   %ptr = load float** %A,  !tbaa !2
-  %scevgep = getelementptr float* %ptr, i64 %indvar
+  %scevgep = getelementptr float, float* %ptr, i64 %indvar
   %val = load float* %scevgep, !tbaa !6
   %sum = fadd float %val, 1.0
   store float %sum, float* %scevgep, !tbaa !6
diff --git a/polly/test/Isl/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll b/polly/test/Isl/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
index 991b186..a1f3f57 100644
--- a/polly/test/Isl/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
+++ b/polly/test/Isl/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
@@ -32,7 +32,7 @@
 
 for.body35:
   %j.012 = phi i64 [ %j.0, %for.body35 ], [ %j.010, %for.cond1.preheader ]
-  %arrayidx39 = getelementptr inbounds [512 x double]* %R, i64 0, i64 %j.012
+  %arrayidx39 = getelementptr inbounds [512 x double], [512 x double]* %R, i64 0, i64 %j.012
   store double 0.000000e+00, double* %arrayidx39
   %j.0 = add nsw i64 %j.012, 1
   %cmp34 = icmp slt i64 %j.0, %nj
diff --git a/polly/test/Isl/CodeGen/aliasing_different_base_and_access_type.ll b/polly/test/Isl/CodeGen/aliasing_different_base_and_access_type.ll
index 037a3f8..c9eea5f 100644
--- a/polly/test/Isl/CodeGen/aliasing_different_base_and_access_type.ll
+++ b/polly/test/Isl/CodeGen/aliasing_different_base_and_access_type.ll
@@ -3,11 +3,11 @@
 ; We have to cast %B to "short *" before we create RTCs.
 ;
 ; CHECK:   %polly.access.cast.B = bitcast i32* %B to i16*
-; CHECK-NEXT:   %polly.access.B = getelementptr i16* %polly.access.cast.B, i64 1024
+; CHECK-NEXT:   %polly.access.B = getelementptr i16, i16* %polly.access.cast.B, i64 1024
 ;
 ; We should never access %B as an i32 pointer:
 ;
-; CHECK-NOT: getelementptr i32* %B
+; CHECK-NOT: getelementptr i32, i32* %B
 ;
 ;    void jd(int *A, int *B) {
 ;      for (int i = 0; i < 1024; i++)
@@ -27,10 +27,10 @@
 
 for.body:                                         ; preds = %for.cond
   %tmp = bitcast i32* %B to i16*
-  %arrayidx = getelementptr inbounds i16* %tmp, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i16, i16* %tmp, i64 %indvars.iv
   %tmp1 = load i16* %arrayidx, align 2
   %conv = sext i16 %tmp1 to i32
-  %arrayidx2 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %conv, i32* %arrayidx2, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/CodeGen/aliasing_different_pointer_types.ll b/polly/test/Isl/CodeGen/aliasing_different_pointer_types.ll
index 54e513f..cfa8238 100644
--- a/polly/test/Isl/CodeGen/aliasing_different_pointer_types.ll
+++ b/polly/test/Isl/CodeGen/aliasing_different_pointer_types.ll
@@ -4,13 +4,13 @@
 ; them in the RTC's. We use i8* as max pointer type.
 ;
 ; CHECK: entry:
-; CHECK:   %polly.access.B = getelementptr float** %B, i64 1024
-; CHECK:   %polly.access.A = getelementptr double** %A, i64 0
+; CHECK:   %polly.access.B = getelementptr float*, float** %B, i64 1024
+; CHECK:   %polly.access.A = getelementptr double*, double** %A, i64 0
 ; CHECK:   %[[paBb:[._a-zA-Z0-9]]] = bitcast float** %polly.access.B to i8*
 ; CHECK:   %[[paAb:[._a-zA-Z0-9]]] = bitcast double** %polly.access.A to i8*
 ; CHECK:   %[[ALeB:[._a-zA-Z0-9]]] = icmp ule i8* %[[paBb]], %[[paAb]]
-; CHECK:   %polly.access.A1 = getelementptr double** %A, i64 1024
-; CHECK:   %polly.access.B2 = getelementptr float** %B, i64 0
+; CHECK:   %polly.access.A1 = getelementptr double*, double** %A, i64 1024
+; CHECK:   %polly.access.B2 = getelementptr float*, float** %B, i64 0
 ; CHECK:   %[[paA1b:[._a-zA-Z0-9]]] = bitcast double** %polly.access.A1 to i8*
 ; CHECK:   %[[paB2b:[._a-zA-Z0-9]]] = bitcast float** %polly.access.B2 to i8*
 ; CHECK:   %[[A1LeB2:[._a-zA-Z0-9]]] = icmp ule i8* %[[paA1b]], %[[paB2b]]
@@ -35,10 +35,10 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds float** %B, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds float*, float** %B, i64 %indvars.iv
   %tmp = load float** %arrayidx, align 8
   %tmp1 = bitcast float* %tmp to double*
-  %arrayidx2 = getelementptr inbounds double** %A, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds double*, double** %A, i64 %indvars.iv
   store double* %tmp1, double** %arrayidx2, align 8
   br label %for.inc
 
diff --git a/polly/test/Isl/CodeGen/aliasing_multidimensional_access.ll b/polly/test/Isl/CodeGen/aliasing_multidimensional_access.ll
index 3bbd589..e94bd99 100644
--- a/polly/test/Isl/CodeGen/aliasing_multidimensional_access.ll
+++ b/polly/test/Isl/CodeGen/aliasing_multidimensional_access.ll
@@ -6,7 +6,7 @@
 ; CHECK:  %[[TMP1:[._0-9a-zA-Z]*]] = add i64 %[[TMP0]], 149
 ; CHECK:  %[[TMP2:[._0-9a-zA-Z]*]] = mul i64 %[[TMP1]], %p
 ; CHECK:  %[[TMP3:[._0-9a-zA-Z]*]] = add i64 %[[TMP2]], 150
-; CHECK:  %polly.access.A{{[0-9]*}} = getelementptr double* %A, i64 %[[TMP3]]
+; CHECK:  %polly.access.A{{[0-9]*}} = getelementptr double, double* %A, i64 %[[TMP3]]
 ;
 ;    void foo(long n, long m, long p, double A[n][m][p], int *B) {
 ;      for (long i = 0; i < 100; i++)
@@ -43,7 +43,7 @@
   br i1 %exitcond, label %for.body6, label %for.end
 
 for.body6:                                        ; preds = %for.cond4
-  %arrayidx = getelementptr inbounds i32* %B, i64 %k.0
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %k.0
   %tmp3 = load i32* %arrayidx, align 2
   %conv = sitofp i32 %tmp3 to double
   %tmp4 = mul nuw i64 %m, %p
@@ -51,7 +51,7 @@
   %tmp6 = mul nsw i64 %j.0, %p
   %arrayidx7.sum = add i64 %tmp5, %tmp6
   %arrayidx8.sum = add i64 %arrayidx7.sum, %k.0
-  %arrayidx9 = getelementptr inbounds double* %A, i64 %arrayidx8.sum
+  %arrayidx9 = getelementptr inbounds double, double* %A, i64 %arrayidx8.sum
   store double %conv, double* %arrayidx9, align 8
   br label %for.inc
 
diff --git a/polly/test/Isl/CodeGen/aliasing_parametric_simple_1.ll b/polly/test/Isl/CodeGen/aliasing_parametric_simple_1.ll
index 39b14d1..f8f3dc5 100644
--- a/polly/test/Isl/CodeGen/aliasing_parametric_simple_1.ll
+++ b/polly/test/Isl/CodeGen/aliasing_parametric_simple_1.ll
@@ -5,13 +5,13 @@
 ;        A[i] = B[c];
 ;    }
 ;
-; CHECK:  %[[AMax:[._a-zA-Z0-9]*]] = getelementptr i32* %A, i64 1024
-; CHECK:  %[[BMin:[._a-zA-Z0-9]*]] = getelementptr i32* %B, i32 %c
+; CHECK:  %[[AMax:[._a-zA-Z0-9]*]] = getelementptr i32, i32* %A, i64 1024
+; CHECK:  %[[BMin:[._a-zA-Z0-9]*]] = getelementptr i32, i32* %B, i32 %c
 ; CHECK:  %[[AltB:[._a-zA-Z0-9]*]] = icmp ule i32* %[[AMax]], %[[BMin]]
 ; CHECK:  %[[Cext:[._a-zA-Z0-9]*]] = sext i32 %c to i64
 ; CHECK:  %[[Cp1:[._a-zA-Z0-9]*]] = add nsw i64 %[[Cext]], 1
-; CHECK:  %[[BMax:[._a-zA-Z0-9]*]] = getelementptr i32* %B, i64 %[[Cp1]]
-; CHECK:  %[[AMin:[._a-zA-Z0-9]*]] = getelementptr i32* %A, i64 0
+; CHECK:  %[[BMax:[._a-zA-Z0-9]*]] = getelementptr i32, i32* %B, i64 %[[Cp1]]
+; CHECK:  %[[AMin:[._a-zA-Z0-9]*]] = getelementptr i32, i32* %A, i64 0
 ; CHECK:  %[[BltA:[._a-zA-Z0-9]*]] = icmp ule i32* %[[BMax]], %[[AMin]]
 ; CHECK:  %[[NoAlias:[._a-zA-Z0-9]*]] = or i1 %[[AltB]], %[[BltA]]
 ; CHECK:  %[[RTC:[._a-zA-Z0-9]*]] = and i1 true, %[[NoAlias]]
@@ -30,9 +30,9 @@
 
 for.body:                                         ; preds = %for.cond
   %idxprom = sext i32 %c to i64
-  %arrayidx = getelementptr inbounds i32* %B, i64 %idxprom
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %idxprom
   %tmp = load i32* %arrayidx, align 4
-  %arrayidx2 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %tmp, i32* %arrayidx2, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/CodeGen/aliasing_parametric_simple_2.ll b/polly/test/Isl/CodeGen/aliasing_parametric_simple_2.ll
index a7b8174..8c74325 100644
--- a/polly/test/Isl/CodeGen/aliasing_parametric_simple_2.ll
+++ b/polly/test/Isl/CodeGen/aliasing_parametric_simple_2.ll
@@ -5,21 +5,21 @@
 ;        A[i] = B[c - 10] + B[5];
 ;    }
 ;
-; CHECK:  %[[AMax:[._a-zA-Z0-9]*]] = getelementptr i32* %A, i64 1024
+; CHECK:  %[[AMax:[._a-zA-Z0-9]*]] = getelementptr i32, i32* %A, i64 1024
 ; CHECK:  %[[m0:[._a-zA-Z0-9]*]] = sext i32 %c to i64
 ; CHECK:  %[[m1:[._a-zA-Z0-9]*]] = icmp sge i64 %[[m0]], 15
 ; CHECK:  %[[m2:[._a-zA-Z0-9]*]] = sext i32 %c to i64
 ; CHECK:  %[[m3:[._a-zA-Z0-9]*]] = sub nsw i64 %[[m2]], 10
 ; CHECK:  %[[m4:[._a-zA-Z0-9]*]] = select i1 %[[m1]], i64 5, i64 %[[m3]]
-; CHECK:  %[[BMin:[._a-zA-Z0-9]*]] = getelementptr i32* %B, i64 %[[m4]]
+; CHECK:  %[[BMin:[._a-zA-Z0-9]*]] = getelementptr i32, i32* %B, i64 %[[m4]]
 ; CHECK:  %[[AltB:[._a-zA-Z0-9]*]] = icmp ule i32* %[[AMax]], %[[BMin]]
 ; CHECK:  %[[M0:[._a-zA-Z0-9]*]] = sext i32 %c to i64
 ; CHECK:  %[[M1:[._a-zA-Z0-9]*]] = icmp sle i64 %[[M0]], 15
 ; CHECK:  %[[M2:[._a-zA-Z0-9]*]] = sext i32 %c to i64
 ; CHECK:  %[[M3:[._a-zA-Z0-9]*]] = sub nsw i64 %[[M2]], 9
 ; CHECK:  %[[M4:[._a-zA-Z0-9]*]] = select i1 %[[M1]], i64 6, i64 %[[M3]]
-; CHECK:  %[[BMax:[._a-zA-Z0-9]*]] = getelementptr i32* %B, i64 %[[M4]]
-; CHECK:  %[[AMin:[._a-zA-Z0-9]*]] = getelementptr i32* %A, i64 0
+; CHECK:  %[[BMax:[._a-zA-Z0-9]*]] = getelementptr i32, i32* %B, i64 %[[M4]]
+; CHECK:  %[[AMin:[._a-zA-Z0-9]*]] = getelementptr i32, i32* %A, i64 0
 ; CHECK:  %[[BltA:[._a-zA-Z0-9]*]] = icmp ule i32* %[[BMax]], %[[AMin]]
 ; CHECK:  %[[NoAlias:[._a-zA-Z0-9]*]] = or i1 %[[AltB]], %[[BltA]]
 ; CHECK:  %[[RTC:[._a-zA-Z0-9]*]] = and i1 true, %[[NoAlias]]
@@ -39,12 +39,12 @@
 for.body:                                         ; preds = %for.cond
   %sub = add nsw i32 %c, -10
   %idxprom = sext i32 %sub to i64
-  %arrayidx = getelementptr inbounds i32* %B, i64 %idxprom
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %idxprom
   %tmp = load i32* %arrayidx, align 4
-  %arrayidx1 = getelementptr inbounds i32* %B, i64 5
+  %arrayidx1 = getelementptr inbounds i32, i32* %B, i64 5
   %tmp1 = load i32* %arrayidx1, align 4
   %add = add nsw i32 %tmp, %tmp1
-  %arrayidx3 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %add, i32* %arrayidx3, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/CodeGen/aliasing_struct_element.ll b/polly/test/Isl/CodeGen/aliasing_struct_element.ll
index 5fb0a8e..0cc28d4 100644
--- a/polly/test/Isl/CodeGen/aliasing_struct_element.ll
+++ b/polly/test/Isl/CodeGen/aliasing_struct_element.ll
@@ -11,7 +11,7 @@
 ; compute runtime alias checks but treat it as if it was a char array.
 ;
 ; CHECK: %polly.access.cast.S = bitcast %struct.st* %S to i8*
-; CHECK: %polly.access.S = getelementptr i8* %polly.access.cast.S, i64 1424
+; CHECK: %polly.access.S = getelementptr i8, i8* %polly.access.cast.S, i64 1424
 ;
 ;    struct st {
 ;      int Dummy[100];
@@ -37,10 +37,10 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds %struct.st* %S, i64 0, i32 1, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds %struct.st, %struct.st* %S, i64 0, i32 1, i64 %indvars.iv
   %tmp = load i8* %arrayidx, align 1
   %conv = sext i8 %tmp to i32
-  %arrayidx2 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %conv, i32* %arrayidx2, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/CodeGen/alignment.ll b/polly/test/Isl/CodeGen/alignment.ll
index 96104cc..fceb2c9 100644
--- a/polly/test/Isl/CodeGen/alignment.ll
+++ b/polly/test/Isl/CodeGen/alignment.ll
@@ -22,7 +22,7 @@
   br i1 %cmp, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   %tmp = trunc i64 %indvars.iv to i32
   store i32 %tmp, i32* %arrayidx, align 8
   br label %for.inc
diff --git a/polly/test/Isl/CodeGen/annotated_alias_scopes.ll b/polly/test/Isl/CodeGen/annotated_alias_scopes.ll
index d2cb41e..754541f 100644
--- a/polly/test/Isl/CodeGen/annotated_alias_scopes.ll
+++ b/polly/test/Isl/CodeGen/annotated_alias_scopes.ll
@@ -59,14 +59,14 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %B, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %indvars.iv
   %tmp = load i32* %arrayidx, align 4
   %conv = sitofp i32 %tmp to float
-  %arrayidx2 = getelementptr inbounds float* %C, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds float, float* %C, i64 %indvars.iv
   %tmp1 = load float* %arrayidx2, align 4
   %add = fadd fast float %conv, %tmp1
   %conv3 = fptosi float %add to i32
-  %arrayidx5 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %conv3, i32* %arrayidx5, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/CodeGen/blas_sscal_simplified.ll b/polly/test/Isl/CodeGen/blas_sscal_simplified.ll
index 8bcdd4d..0ba55dfe 100644
--- a/polly/test/Isl/CodeGen/blas_sscal_simplified.ll
+++ b/polly/test/Isl/CodeGen/blas_sscal_simplified.ll
@@ -28,7 +28,7 @@
 
 for.body:                                         ; preds = %for.body.lr.ph, %for.body
   %indvar = phi i64 [ 0, %for.body.lr.ph ], [ %indvar.next, %for.body ]
-  %sx.addr.02 = getelementptr float* %sx, i64 %indvar
+  %sx.addr.02 = getelementptr float, float* %sx, i64 %indvar
   %tmp = load float* %sx.addr.02, align 4
   %mul = fmul float %tmp, %sa
   store float %mul, float* %sx.addr.02, align 4
diff --git a/polly/test/Isl/CodeGen/debug-intrinsics.ll b/polly/test/Isl/CodeGen/debug-intrinsics.ll
index 8577fed..772e5ee 100644
--- a/polly/test/Isl/CodeGen/debug-intrinsics.ll
+++ b/polly/test/Isl/CodeGen/debug-intrinsics.ll
@@ -19,7 +19,7 @@
 
 for.body:                                         ; preds = %for.body.lr.ph, %for.body
   %0 = phi i64 [ 0, %for.body.lr.ph ], [ %1, %for.body ], !dbg !21
-  %arrayidx = getelementptr float* %A, i64 %0, !dbg !21
+  %arrayidx = getelementptr float, float* %A, i64 %0, !dbg !21
   %conv = sitofp i64 %0 to float, !dbg !21
   store float %conv, float* %arrayidx, align 4, !dbg !21
   %1 = add nsw i64 %0, 1, !dbg !20
diff --git a/polly/test/Isl/CodeGen/intrinsics_lifetime.ll b/polly/test/Isl/CodeGen/intrinsics_lifetime.ll
index c6f0275bd..9d198ee 100644
--- a/polly/test/Isl/CodeGen/intrinsics_lifetime.ll
+++ b/polly/test/Isl/CodeGen/intrinsics_lifetime.ll
@@ -48,9 +48,9 @@
   br i1 %exitcond, label %for.body4, label %for.end
 
 for.body4:                                        ; preds = %for.cond2
-  %arrayidx = getelementptr inbounds [1024 x i32]* @A, i64 0, i64 %indvars.iv1
+  %arrayidx = getelementptr inbounds [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvars.iv1
   %tmp6 = load i32* %arrayidx, align 4
-  %arrayidx6 = getelementptr inbounds [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
+  %arrayidx6 = getelementptr inbounds [1024 x i32], [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
   %tmp7 = load i32* %arrayidx6, align 4
   %add = add nsw i32 %tmp7, %tmp6
   store i32 %add, i32* %arrayidx6, align 4
@@ -61,9 +61,9 @@
   br label %for.cond2
 
 for.end:                                          ; preds = %for.cond2
-  %arrayidx8 = getelementptr inbounds [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
+  %arrayidx8 = getelementptr inbounds [1024 x i32], [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
   %tmp8 = load i32* %arrayidx8, align 4
-  %arrayidx10 = getelementptr inbounds [1024 x i32]* @A, i64 0, i64 %indvars.iv3
+  %arrayidx10 = getelementptr inbounds [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvars.iv3
   store i32 %tmp8, i32* %arrayidx10, align 4
   call void @llvm.lifetime.end(i64 4096, i8* %tmp3) #1
   br label %for.inc11
diff --git a/polly/test/Isl/CodeGen/intrinsics_misc.ll b/polly/test/Isl/CodeGen/intrinsics_misc.ll
index 72baf63..c80494ad 100644
--- a/polly/test/Isl/CodeGen/intrinsics_misc.ll
+++ b/polly/test/Isl/CodeGen/intrinsics_misc.ll
@@ -53,9 +53,9 @@
 for.body4:                                        ; preds = %for.cond2
   call void @llvm.assume(i1 %exitcond)
   call i1 @llvm.expect.i1(i1 %exitcond, i1 1)
-  %arrayidx = getelementptr inbounds [1024 x i32]* @A, i64 0, i64 %indvars.iv1
+  %arrayidx = getelementptr inbounds [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvars.iv1
   %tmp6 = load i32* %arrayidx, align 4
-  %arrayidx6 = getelementptr inbounds [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
+  %arrayidx6 = getelementptr inbounds [1024 x i32], [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
   call void @llvm.donothing()
   %tmp7 = load i32* %arrayidx6, align 4
   %add = add nsw i32 %tmp7, %tmp6
@@ -67,9 +67,9 @@
   br label %for.cond2
 
 for.end:                                          ; preds = %for.cond2
-  %arrayidx8 = getelementptr inbounds [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
+  %arrayidx8 = getelementptr inbounds [1024 x i32], [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
   %tmp8 = load i32* %arrayidx8, align 4
-  %arrayidx10 = getelementptr inbounds [1024 x i32]* @A, i64 0, i64 %indvars.iv3
+  %arrayidx10 = getelementptr inbounds [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvars.iv3
   call void @llvm.invariant.end({}* %lis, i64 4096, i8* %tmp3) #1
   store i32 %tmp8, i32* %arrayidx10, align 4
   br label %for.inc11
diff --git a/polly/test/Isl/CodeGen/loop_with_condition.ll b/polly/test/Isl/CodeGen/loop_with_condition.ll
index 3098fe4..e9eb723 100644
--- a/polly/test/Isl/CodeGen/loop_with_condition.ll
+++ b/polly/test/Isl/CodeGen/loop_with_condition.ll
@@ -52,8 +52,8 @@
 
 ; <label>:1                                       ; preds = %7, %0
   %indvar = phi i64 [ %indvar.next, %7 ], [ 0, %0 ] ; <i64> [#uses=5]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
-  %scevgep1 = getelementptr [1024 x i32]* @B, i64 0, i64 %indvar ; <i32*> [#uses=1]
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
+  %scevgep1 = getelementptr [1024 x i32], [1024 x i32]* @B, i64 0, i64 %indvar ; <i32*> [#uses=1]
   %i.0 = trunc i64 %indvar to i32                 ; <i32> [#uses=1]
   %exitcond = icmp ne i64 %indvar, 1024           ; <i1> [#uses=1]
   br i1 %exitcond, label %2, label %8
@@ -92,7 +92,7 @@
 
 ; <label>:1                                       ; preds = %8, %0
   %indvar1 = phi i64 [ %indvar.next2, %8 ], [ 0, %0 ] ; <i64> [#uses=3]
-  %scevgep3 = getelementptr [1024 x i32]* @B, i64 0, i64 %indvar1 ; <i32*> [#uses=1]
+  %scevgep3 = getelementptr [1024 x i32], [1024 x i32]* @B, i64 0, i64 %indvar1 ; <i32*> [#uses=1]
   %i.0 = trunc i64 %indvar1 to i32                ; <i32> [#uses=1]
   %2 = icmp slt i32 %i.0, 1024                    ; <i1> [#uses=1]
   br i1 %2, label %3, label %9
@@ -117,7 +117,7 @@
 
 ; <label>:10                                      ; preds = %26, %9
   %indvar = phi i64 [ %indvar.next, %26 ], [ 0, %9 ] ; <i64> [#uses=3]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
   %i.1 = trunc i64 %indvar to i32                 ; <i32> [#uses=3]
   %11 = icmp slt i32 %i.1, 1024                   ; <i1> [#uses=1]
   br i1 %11, label %12, label %27
diff --git a/polly/test/Isl/CodeGen/loop_with_condition_2.ll b/polly/test/Isl/CodeGen/loop_with_condition_2.ll
index 4fb98d6..bd44e0f 100644
--- a/polly/test/Isl/CodeGen/loop_with_condition_2.ll
+++ b/polly/test/Isl/CodeGen/loop_with_condition_2.ll
@@ -27,8 +27,8 @@
 
 for.cond:                                         ; preds = %for.inc, %entry
   %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %entry ]
-  %arrayidx = getelementptr [1024 x i32]* @A, i64 0, i64 %indvar
-  %arrayidx10 = getelementptr [1024 x i32]* @B, i64 0, i64 %indvar
+  %arrayidx = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvar
+  %arrayidx10 = getelementptr [1024 x i32], [1024 x i32]* @B, i64 0, i64 %indvar
   %tmp2 = add i64 %tmp1, %indvar
   %sub = trunc i64 %tmp2 to i32
   %exitcond = icmp ne i64 %indvar, 1024
@@ -68,7 +68,7 @@
 
 for.cond:                                         ; preds = %for.inc, %entry
   %indvar1 = phi i64 [ %indvar.next2, %for.inc ], [ 0, %entry ]
-  %arrayidx = getelementptr [1024 x i32]* @B, i64 0, i64 %indvar1
+  %arrayidx = getelementptr [1024 x i32], [1024 x i32]* @B, i64 0, i64 %indvar1
   %i.0 = trunc i64 %indvar1 to i32
   %cmp = icmp slt i32 %i.0, 1024
   br i1 %cmp, label %for.body, label %for.end
@@ -93,7 +93,7 @@
 
 for.cond6:                                        ; preds = %for.inc12, %for.end
   %indvar = phi i64 [ %indvar.next, %for.inc12 ], [ 0, %for.end ]
-  %arrayidx15 = getelementptr [1024 x i32]* @A, i64 0, i64 %indvar
+  %arrayidx15 = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvar
   %i.1 = trunc i64 %indvar to i32
   %cmp8 = icmp slt i32 %i.1, 1024
   br i1 %cmp8, label %for.body9, label %for.end35
diff --git a/polly/test/Isl/CodeGen/loop_with_condition_ineq.ll b/polly/test/Isl/CodeGen/loop_with_condition_ineq.ll
index 960b634..971c58b 100644
--- a/polly/test/Isl/CodeGen/loop_with_condition_ineq.ll
+++ b/polly/test/Isl/CodeGen/loop_with_condition_ineq.ll
@@ -52,8 +52,8 @@
 
 ; <label>:1                                       ; preds = %7, %0
   %indvar = phi i64 [ %indvar.next, %7 ], [ 0, %0 ] ; <i64> [#uses=5]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
-  %scevgep1 = getelementptr [1024 x i32]* @B, i64 0, i64 %indvar ; <i32*> [#uses=1]
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
+  %scevgep1 = getelementptr [1024 x i32], [1024 x i32]* @B, i64 0, i64 %indvar ; <i32*> [#uses=1]
   %i.0 = trunc i64 %indvar to i32                 ; <i32> [#uses=1]
   %exitcond = icmp ne i64 %indvar, 1024           ; <i1> [#uses=1]
   br i1 %exitcond, label %2, label %8
@@ -92,7 +92,7 @@
 
 ; <label>:1                                       ; preds = %8, %0
   %indvar1 = phi i64 [ %indvar.next2, %8 ], [ 0, %0 ] ; <i64> [#uses=3]
-  %scevgep3 = getelementptr [1024 x i32]* @B, i64 0, i64 %indvar1 ; <i32*> [#uses=1]
+  %scevgep3 = getelementptr [1024 x i32], [1024 x i32]* @B, i64 0, i64 %indvar1 ; <i32*> [#uses=1]
   %i.0 = trunc i64 %indvar1 to i32                ; <i32> [#uses=1]
   %2 = icmp slt i32 %i.0, 1024                    ; <i1> [#uses=1]
   br i1 %2, label %3, label %9
@@ -117,7 +117,7 @@
 
 ; <label>:10                                      ; preds = %26, %9
   %indvar = phi i64 [ %indvar.next, %26 ], [ 0, %9 ] ; <i64> [#uses=3]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
   %i.1 = trunc i64 %indvar to i32                 ; <i32> [#uses=3]
   %11 = icmp slt i32 %i.1, 1024                   ; <i1> [#uses=1]
   br i1 %11, label %12, label %27
diff --git a/polly/test/Isl/CodeGen/loop_with_condition_nested.ll b/polly/test/Isl/CodeGen/loop_with_condition_nested.ll
index 546e6d6..9a5fb2b 100644
--- a/polly/test/Isl/CodeGen/loop_with_condition_nested.ll
+++ b/polly/test/Isl/CodeGen/loop_with_condition_nested.ll
@@ -60,8 +60,8 @@
 
 ; <label>:1                                       ; preds = %10, %0
   %indvar = phi i64 [ %indvar.next, %10 ], [ 0, %0 ] ; <i64> [#uses=5]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
-  %scevgep1 = getelementptr [1024 x i32]* @B, i64 0, i64 %indvar ; <i32*> [#uses=1]
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
+  %scevgep1 = getelementptr [1024 x i32], [1024 x i32]* @B, i64 0, i64 %indvar ; <i32*> [#uses=1]
   %i.0 = trunc i64 %indvar to i32                 ; <i32> [#uses=2]
   %exitcond = icmp ne i64 %indvar, 1024           ; <i1> [#uses=1]
   br i1 %exitcond, label %2, label %11
@@ -107,7 +107,7 @@
 
 ; <label>:1                                       ; preds = %8, %0
   %indvar1 = phi i64 [ %indvar.next2, %8 ], [ 0, %0 ] ; <i64> [#uses=3]
-  %scevgep3 = getelementptr [1024 x i32]* @B, i64 0, i64 %indvar1 ; <i32*> [#uses=1]
+  %scevgep3 = getelementptr [1024 x i32], [1024 x i32]* @B, i64 0, i64 %indvar1 ; <i32*> [#uses=1]
   %i.0 = trunc i64 %indvar1 to i32                ; <i32> [#uses=1]
   %2 = icmp slt i32 %i.0, 1024                    ; <i1> [#uses=1]
   br i1 %2, label %3, label %9
@@ -132,7 +132,7 @@
 
 ; <label>:10                                      ; preds = %37, %9
   %indvar = phi i64 [ %indvar.next, %37 ], [ 0, %9 ] ; <i64> [#uses=3]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=3]
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=3]
   %i.1 = trunc i64 %indvar to i32                 ; <i32> [#uses=6]
   %11 = icmp slt i32 %i.1, 1024                   ; <i1> [#uses=1]
   br i1 %11, label %12, label %38
diff --git a/polly/test/Isl/CodeGen/loop_with_conditional_entry_edge_splited_hard_case.ll b/polly/test/Isl/CodeGen/loop_with_conditional_entry_edge_splited_hard_case.ll
index 6a1044d..612b0f3 100644
--- a/polly/test/Isl/CodeGen/loop_with_conditional_entry_edge_splited_hard_case.ll
+++ b/polly/test/Isl/CodeGen/loop_with_conditional_entry_edge_splited_hard_case.ll
@@ -47,7 +47,7 @@
   br i1 %exitcond, label %for.body, label %while.begin
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   %tmp = trunc i64 %indvars.iv to i32
   store i32 %tmp, i32* %arrayidx, align 4
   br label %for.inc
diff --git a/polly/test/Isl/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll b/polly/test/Isl/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
index e547058..764a1a0 100644
--- a/polly/test/Isl/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
+++ b/polly/test/Isl/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
@@ -27,7 +27,7 @@
 for.j:
   %j = phi i64 [ 0, %for.i ], [ %j.inc, %for.j ]
   %vlaarrayidx.sum = add i64 %j, %tmp
-  %arrayidx = getelementptr inbounds double* %A, i64 %vlaarrayidx.sum
+  %arrayidx = getelementptr inbounds double, double* %A, i64 %vlaarrayidx.sum
   store double 1.0, double* %arrayidx
   %j.inc = add nsw i64 %j, 1
   %j.exitcond = icmp eq i64 %j.inc, 150
diff --git a/polly/test/Isl/CodeGen/multidim_alias_check.ll b/polly/test/Isl/CodeGen/multidim_alias_check.ll
index 62911c7..4a48e5f 100644
--- a/polly/test/Isl/CodeGen/multidim_alias_check.ll
+++ b/polly/test/Isl/CodeGen/multidim_alias_check.ll
@@ -5,8 +5,8 @@
 ; CHECK: %polly.access.sext.A = sext i32 %n to i64
 ; CHECK: %polly.access.mul.A = mul i64 %polly.access.sext.A, %0
 ; CHECK: %polly.access.add.A = add i64 %polly.access.mul.A, 1
-; CHECK: %polly.access.A = getelementptr double* %A, i64 %polly.access.add.A
-; CHECK: %polly.access.y = getelementptr double* %y, i64 0
+; CHECK: %polly.access.A = getelementptr double, double* %A, i64 %polly.access.add.A
+; CHECK: %polly.access.y = getelementptr double, double* %y, i64 0
 ; CHECK: icmp ule double* %polly.access.A, %polly.access.y
 
 
@@ -18,7 +18,7 @@
 
 for.body:
   %i.04 = phi i32 [ %inc39, %for.cond.loopexit ], [ 0, %entry ]
-  %arrayidx16 = getelementptr inbounds double* %y, i64 0
+  %arrayidx16 = getelementptr inbounds double, double* %y, i64 0
   store double 1.0, double* %arrayidx16
   %cmp251 = icmp slt i32 %n, 0
   %inc39 = add nsw i32 %i.04, 1
@@ -28,7 +28,7 @@
   %idxprom35 = sext i32 %i.04 to i64
   %tmp1 = mul nsw i64 %idxprom35, %tmp
   %arrayidx36.sum = add i64 0, %tmp1
-  %arrayidx37 = getelementptr inbounds double* %A, i64 %arrayidx36.sum
+  %arrayidx37 = getelementptr inbounds double, double* %A, i64 %arrayidx36.sum
   store double 1.0, double* %arrayidx37
   br label %for.cond.loopexit
 
diff --git a/polly/test/Isl/CodeGen/no_guard_bb.ll b/polly/test/Isl/CodeGen/no_guard_bb.ll
index bd09a65..07b17c3 100644
--- a/polly/test/Isl/CodeGen/no_guard_bb.ll
+++ b/polly/test/Isl/CodeGen/no_guard_bb.ll
@@ -19,7 +19,7 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   %tmp = trunc i64 %indvars.iv to i32
   store i32 %tmp, i32* %arrayidx, align 4
   br label %for.inc
diff --git a/polly/test/Isl/CodeGen/non_affine_float_compare.ll b/polly/test/Isl/CodeGen/non_affine_float_compare.ll
index 7f5d948..65aa2d2 100644
--- a/polly/test/Isl/CodeGen/non_affine_float_compare.ll
+++ b/polly/test/Isl/CodeGen/non_affine_float_compare.ll
@@ -9,15 +9,15 @@
 ;
 ;
 ; CHECK: polly.stmt.bb2:
-; CHECK:   %scevgep[[R0:[0-9]*]] = getelementptr float* %A, i64 %polly.indvar
+; CHECK:   %scevgep[[R0:[0-9]*]] = getelementptr float, float* %A, i64 %polly.indvar
 ; CHECK:   %tmp3_p_scalar_ = load float* %scevgep[[R0]], align 4, !alias.scope !0, !noalias !2
-; CHECK:   %scevgep[[R2:[0-9]*]] = getelementptr float* %scevgep{{[0-9]*}}, i64 %polly.indvar
+; CHECK:   %scevgep[[R2:[0-9]*]] = getelementptr float, float* %scevgep{{[0-9]*}}, i64 %polly.indvar
 ; CHECK:   %tmp6_p_scalar_ = load float* %scevgep[[R2]], align 4, !alias.scope !0, !noalias !2
 ; CHECK:   %p_tmp7 = fcmp oeq float %tmp3_p_scalar_, %tmp6_p_scalar_
 ; CHECK:   br i1 %p_tmp7, label %polly.stmt.bb8, label %polly.stmt.bb12.[[R:[a-zA-Z_.0-9]*]]
 
 ; CHECK: polly.stmt.bb8:
-; CHECK:   %scevgep[[R3:[0-9]*]] = getelementptr float* %A, i64 %polly.indvar
+; CHECK:   %scevgep[[R3:[0-9]*]] = getelementptr float, float* %A, i64 %polly.indvar
 ; CHECK:   %tmp10_p_scalar_ = load float* %scevgep[[R3]], align 4, !alias.scope !0, !noalias !2
 ; CHECK:   %p_tmp11 = fadd float %tmp10_p_scalar_, 1.000000e+00
 ; CHECK:   store float %p_tmp11, float* %scevgep[[R3]], align 4, !alias.scope !0, !noalias !2
@@ -27,7 +27,7 @@
 ; CHECK:   br label %polly.stmt.bb12
 
 ; CHECK: polly.stmt.bb12:
-; CHECK:   %scevgep[[R4:[0-9]*]] = getelementptr float* %A, i64 %polly.indvar
+; CHECK:   %scevgep[[R4:[0-9]*]] = getelementptr float, float* %A, i64 %polly.indvar
 ; CHECK:   %tmp10b_p_scalar_ = load float* %scevgep[[R4]], align 4, !alias.scope !0, !noalias !2
 ; CHECK:   %p_tmp11b = fadd float %tmp10b_p_scalar_, 1.000000e+00
 ; CHECK:   store float %p_tmp11b, float* %scevgep[[R4]], align 4, !alias.scope !0, !noalias !2
@@ -47,23 +47,23 @@
   br i1 %exitcond, label %bb2, label %bb14
 
 bb2:                                              ; preds = %bb1
-  %tmp = getelementptr inbounds float* %A, i64 %indvars.iv
+  %tmp = getelementptr inbounds float, float* %A, i64 %indvars.iv
   %tmp3 = load float* %tmp, align 4
   %tmp4 = add nsw i64 %indvars.iv, -1
-  %tmp5 = getelementptr inbounds float* %A, i64 %tmp4
+  %tmp5 = getelementptr inbounds float, float* %A, i64 %tmp4
   %tmp6 = load float* %tmp5, align 4
   %tmp7 = fcmp oeq float %tmp3, %tmp6
   br i1 %tmp7, label %bb8, label %bb12
 
 bb8:                                              ; preds = %bb2
-  %tmp9 = getelementptr inbounds float* %A, i64 %indvars.iv
+  %tmp9 = getelementptr inbounds float, float* %A, i64 %indvars.iv
   %tmp10 = load float* %tmp9, align 4
   %tmp11 = fadd float %tmp10, 1.000000e+00
   store float %tmp11, float* %tmp9, align 4
   br label %bb12
 
 bb12:                                             ; preds = %bb8, %bb2
-  %tmp9b = getelementptr inbounds float* %A, i64 %indvars.iv
+  %tmp9b = getelementptr inbounds float, float* %A, i64 %indvars.iv
   %tmp10b = load float* %tmp9b, align 4
   %tmp11b = fadd float %tmp10b, 1.000000e+00
   store float %tmp11b, float* %tmp9b, align 4
diff --git a/polly/test/Isl/CodeGen/openmp_limit_threads.ll b/polly/test/Isl/CodeGen/openmp_limit_threads.ll
index 052aa25..4f70f09 100644
--- a/polly/test/Isl/CodeGen/openmp_limit_threads.ll
+++ b/polly/test/Isl/CodeGen/openmp_limit_threads.ll
@@ -34,7 +34,7 @@
 for.body3:                                        ; preds = %for.cond1
   %tmp = shl nsw i64 %indvars.iv, 10
   %tmp6 = add nsw i64 %indvars.iv3, %tmp
-  %arrayidx = getelementptr inbounds i32* %A, i64 %tmp6
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %tmp6
   store i32 0, i32* %arrayidx, align 4
   br label %for.inc
 
diff --git a/polly/test/Isl/CodeGen/pointer-type-expressions-2.ll b/polly/test/Isl/CodeGen/pointer-type-expressions-2.ll
index 9575a54..6ba3cd3 100644
--- a/polly/test/Isl/CodeGen/pointer-type-expressions-2.ll
+++ b/polly/test/Isl/CodeGen/pointer-type-expressions-2.ll
@@ -9,7 +9,7 @@
 
 body:
   %ptr = phi i8* [ %start, %entry ], [ %ptr2, %body ]
-  %ptr2 = getelementptr inbounds i8* %ptr, i64 1
+  %ptr2 = getelementptr inbounds i8, i8* %ptr, i64 1
   %cmp = icmp eq i8* %ptr2, %end
   store i32 42, i32* %A
   br i1 %cmp, label %exit, label %body
diff --git a/polly/test/Isl/CodeGen/pointer-type-expressions.ll b/polly/test/Isl/CodeGen/pointer-type-expressions.ll
index c7298c0..6d9ee26 100644
--- a/polly/test/Isl/CodeGen/pointer-type-expressions.ll
+++ b/polly/test/Isl/CodeGen/pointer-type-expressions.ll
@@ -21,7 +21,7 @@
   br i1 %brcond, label %store, label %bb.backedge
 
 store:
-  %scevgep = getelementptr i64* %a, i64 %i
+  %scevgep = getelementptr i64, i64* %a, i64 %i
   store i64 %i, i64* %scevgep
   br label %bb.backedge
 
diff --git a/polly/test/Isl/CodeGen/pointer-type-pointer-type-comparison.ll b/polly/test/Isl/CodeGen/pointer-type-pointer-type-comparison.ll
index 262c7d2..301b4f0 100644
--- a/polly/test/Isl/CodeGen/pointer-type-pointer-type-comparison.ll
+++ b/polly/test/Isl/CodeGen/pointer-type-pointer-type-comparison.ll
@@ -20,7 +20,7 @@
   br i1 %brcond, label %store, label %bb.backedge
 
 store:
-  %scevgep = getelementptr i64* %a, i64 %i
+  %scevgep = getelementptr i64, i64* %a, i64 %i
   store i64 %i, i64* %scevgep
   br label %bb.backedge
 
@@ -41,7 +41,7 @@
 ; CHECK:     Stmt_store(c0);
 ; CHECK: }
 
-; CODEGEN:       %[[Pinc:[_a-zA-Z0-9]+]] = getelementptr float* %P, i64 1
+; CODEGEN:       %[[Pinc:[_a-zA-Z0-9]+]] = getelementptr float, float* %P, i64 1
 ; CODEGEN-NEXT:                             icmp uge float* %Q, %[[Pinc]]
-; CODEGEN:       %[[Qinc:[_a-zA-Z0-9]+]] = getelementptr float* %Q, i64 1
+; CODEGEN:       %[[Qinc:[_a-zA-Z0-9]+]] = getelementptr float, float* %Q, i64 1
 ; CODEGEN-NEXT:                             icmp uge float* %P, %[[Qinc]]
diff --git a/polly/test/Isl/CodeGen/reduction.ll b/polly/test/Isl/CodeGen/reduction.ll
index 0d7b059..2165b12 100644
--- a/polly/test/Isl/CodeGen/reduction.ll
+++ b/polly/test/Isl/CodeGen/reduction.ll
@@ -34,14 +34,14 @@
 define i32 @main() nounwind {
 ; <label>:0
   %A = alloca [1021 x i32], align 16              ; <[1021 x i32]*> [#uses=6]
-  %1 = getelementptr inbounds [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %1 = getelementptr inbounds [1021 x i32], [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
   %2 = bitcast i32* %1 to i8*                     ; <i8*> [#uses=1]
   call void @llvm.memset.p0i8.i64(i8* %2, i8 0, i64 4084, i32 1, i1 false)
-  %3 = getelementptr inbounds [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %4 = getelementptr inbounds i32* %3, i64 0      ; <i32*> [#uses=1]
+  %3 = getelementptr inbounds [1021 x i32], [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %4 = getelementptr inbounds i32, i32* %3, i64 0      ; <i32*> [#uses=1]
   store i32 1, i32* %4
-  %5 = getelementptr inbounds [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %6 = getelementptr inbounds i32* %5, i64 1      ; <i32*> [#uses=1]
+  %5 = getelementptr inbounds [1021 x i32], [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %6 = getelementptr inbounds i32, i32* %5, i64 1      ; <i32*> [#uses=1]
   store i32 1, i32* %6
   fence seq_cst
   br label %7
@@ -49,11 +49,11 @@
 ; <label>:7                                       ; preds = %14, %0
   %indvar = phi i64 [ %indvar.next, %14 ], [ 0, %0 ] ; <i64> [#uses=5]
   %red.0 = phi i32 [ 0, %0 ], [ %13, %14 ]        ; <i32> [#uses=2]
-  %scevgep = getelementptr [1021 x i32]* %A, i64 0, i64 %indvar ; <i32*> [#uses=2]
+  %scevgep = getelementptr [1021 x i32], [1021 x i32]* %A, i64 0, i64 %indvar ; <i32*> [#uses=2]
   %tmp = add i64 %indvar, 2                       ; <i64> [#uses=1]
-  %scevgep1 = getelementptr [1021 x i32]* %A, i64 0, i64 %tmp ; <i32*> [#uses=1]
+  %scevgep1 = getelementptr [1021 x i32], [1021 x i32]* %A, i64 0, i64 %tmp ; <i32*> [#uses=1]
   %tmp2 = add i64 %indvar, 1                      ; <i64> [#uses=1]
-  %scevgep3 = getelementptr [1021 x i32]* %A, i64 0, i64 %tmp2 ; <i32*> [#uses=1]
+  %scevgep3 = getelementptr [1021 x i32], [1021 x i32]* %A, i64 0, i64 %tmp2 ; <i32*> [#uses=1]
   %exitcond = icmp ne i64 %indvar, 1019           ; <i1> [#uses=1]
   br i1 %exitcond, label %8, label %15
 
diff --git a/polly/test/Isl/CodeGen/reduction_2.ll b/polly/test/Isl/CodeGen/reduction_2.ll
index dc61b49..d353aa5 100644
--- a/polly/test/Isl/CodeGen/reduction_2.ll
+++ b/polly/test/Isl/CodeGen/reduction_2.ll
@@ -31,27 +31,27 @@
 entry:
   %A = alloca [1021 x i32], align 4               ; <[1021 x i32]*> [#uses=6]
   %RED = alloca [1 x i32], align 4                ; <[1 x i32]*> [#uses=3]
-  %arraydecay = getelementptr inbounds [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arraydecay = getelementptr inbounds [1021 x i32], [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
   %conv = bitcast i32* %arraydecay to i8*         ; <i8*> [#uses=1]
   call void @llvm.memset.p0i8.i64(i8* %conv, i8 0, i64 4084, i32 1, i1 false)
-  %arraydecay1 = getelementptr inbounds [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx = getelementptr inbounds i32* %arraydecay1, i64 0 ; <i32*> [#uses=1]
+  %arraydecay1 = getelementptr inbounds [1021 x i32], [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx = getelementptr inbounds i32, i32* %arraydecay1, i64 0 ; <i32*> [#uses=1]
   store i32 1, i32* %arrayidx
-  %arraydecay2 = getelementptr inbounds [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx3 = getelementptr inbounds i32* %arraydecay2, i64 1 ; <i32*> [#uses=1]
+  %arraydecay2 = getelementptr inbounds [1021 x i32], [1021 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx3 = getelementptr inbounds i32, i32* %arraydecay2, i64 1 ; <i32*> [#uses=1]
   store i32 1, i32* %arrayidx3
-  %arraydecay4 = getelementptr inbounds [1 x i32]* %RED, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx5 = getelementptr inbounds i32* %arraydecay4, i64 0 ; <i32*> [#uses=1]
+  %arraydecay4 = getelementptr inbounds [1 x i32], [1 x i32]* %RED, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx5 = getelementptr inbounds i32, i32* %arraydecay4, i64 0 ; <i32*> [#uses=1]
   store i32 0, i32* %arrayidx5
   br label %for.cond
 
 for.cond:                                         ; preds = %for.inc, %entry
   %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %entry ] ; <i64> [#uses=5]
-  %arrayidx15 = getelementptr [1021 x i32]* %A, i64 0, i64 %indvar ; <i32*> [#uses=2]
+  %arrayidx15 = getelementptr [1021 x i32], [1021 x i32]* %A, i64 0, i64 %indvar ; <i32*> [#uses=2]
   %tmp = add i64 %indvar, 2                       ; <i64> [#uses=1]
-  %arrayidx20 = getelementptr [1021 x i32]* %A, i64 0, i64 %tmp ; <i32*> [#uses=1]
+  %arrayidx20 = getelementptr [1021 x i32], [1021 x i32]* %A, i64 0, i64 %tmp ; <i32*> [#uses=1]
   %tmp1 = add i64 %indvar, 1                      ; <i64> [#uses=1]
-  %arrayidx9 = getelementptr [1021 x i32]* %A, i64 0, i64 %tmp1 ; <i32*> [#uses=1]
+  %arrayidx9 = getelementptr [1021 x i32], [1021 x i32]* %A, i64 0, i64 %tmp1 ; <i32*> [#uses=1]
   %exitcond = icmp ne i64 %indvar, 1019           ; <i1> [#uses=1]
   br i1 %exitcond, label %for.body, label %for.end
 
@@ -61,8 +61,8 @@
   %add = add nsw i32 %tmp10, %tmp16               ; <i32> [#uses=1]
   store i32 %add, i32* %arrayidx20
   %tmp26 = load i32* %arrayidx15                  ; <i32> [#uses=1]
-  %arraydecay27 = getelementptr inbounds [1 x i32]* %RED, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx28 = getelementptr inbounds i32* %arraydecay27, i64 0 ; <i32*> [#uses=2]
+  %arraydecay27 = getelementptr inbounds [1 x i32], [1 x i32]* %RED, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx28 = getelementptr inbounds i32, i32* %arraydecay27, i64 0 ; <i32*> [#uses=2]
   %tmp29 = load i32* %arrayidx28                  ; <i32> [#uses=1]
   %add30 = add nsw i32 %tmp29, %tmp26             ; <i32> [#uses=1]
   store i32 %add30, i32* %arrayidx28
@@ -73,8 +73,8 @@
   br label %for.cond
 
 for.end:                                          ; preds = %for.cond
-  %arraydecay32 = getelementptr inbounds [1 x i32]* %RED, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx33 = getelementptr inbounds i32* %arraydecay32, i64 0 ; <i32*> [#uses=1]
+  %arraydecay32 = getelementptr inbounds [1 x i32], [1 x i32]* %RED, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx33 = getelementptr inbounds i32, i32* %arraydecay32, i64 0 ; <i32*> [#uses=1]
   %tmp34 = load i32* %arrayidx33                  ; <i32> [#uses=1]
   %cmp35 = icmp ne i32 %tmp34, 382399368          ; <i1> [#uses=1]
   br i1 %cmp35, label %if.then, label %if.end
diff --git a/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll b/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll
index d819003..c40d740 100644
--- a/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll
+++ b/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll
@@ -20,7 +20,7 @@
   %indvar1 = phi i64 [ %indvar.next2, %for.body4 ], [ 0, %entry ]
   %.moved.to.for.body4 = mul i64 %0, %indvar1
   %1 = add i64 %.moved.to.for.body4, 0
-  %arrayidx7 = getelementptr double* %data, i64 %1
+  %arrayidx7 = getelementptr double, double* %data, i64 %1
   store double undef, double* %arrayidx7, align 8
   %indvar.next2 = add i64 %indvar1, 1
   br i1 false, label %for.body4, label %for.end10
diff --git a/polly/test/Isl/CodeGen/run-time-condition.ll b/polly/test/Isl/CodeGen/run-time-condition.ll
index 9568d93..9a306ab 100644
--- a/polly/test/Isl/CodeGen/run-time-condition.ll
+++ b/polly/test/Isl/CodeGen/run-time-condition.ll
@@ -13,10 +13,10 @@
   br i1 %cmp, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i16* %B, i64 0
+  %arrayidx = getelementptr inbounds i16, i16* %B, i64 0
   %load = load i16* %arrayidx
   %add10 = add nsw i16 %load, 1
-  %arrayidx13 = getelementptr inbounds i16* %A, i64 %indvar
+  %arrayidx13 = getelementptr inbounds i16, i16* %A, i64 %indvar
   store i16 %add10, i16* %arrayidx13, align 2
   %inc = add nsw i64 %indvar, 1
   br label %for.cond
diff --git a/polly/test/Isl/CodeGen/scalar-references-used-in-scop-compute.ll b/polly/test/Isl/CodeGen/scalar-references-used-in-scop-compute.ll
index f2bf15f..b642b4d 100644
--- a/polly/test/Isl/CodeGen/scalar-references-used-in-scop-compute.ll
+++ b/polly/test/Isl/CodeGen/scalar-references-used-in-scop-compute.ll
@@ -17,7 +17,7 @@
 for.body:
   %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %entry ]
   %mul104 = fmul float 1.0, %sqrinv
-  %rp107 = getelementptr float* %A, i64 %indvar
+  %rp107 = getelementptr float, float* %A, i64 %indvar
   store float %mul104, float* %rp107, align 4
   %indvar.next = add nsw i64 %indvar, 1
   %cmp = icmp slt i64 1024, %indvar.next
@@ -38,7 +38,7 @@
 for.body:
   %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %entry ]
   %mul104 = fmul float 1.0, %sqrinv
-  %rp107 = getelementptr float* %A, i64 %indvar
+  %rp107 = getelementptr float, float* %A, i64 %indvar
   store float %mul104, float* %rp107, align 4
   %indvar.next = add nsw i64 %indvar, 1
   %cmp = icmp slt i64 1024, %indvar.next
diff --git a/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll b/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll
index d0f460b..a13a475 100644
--- a/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll
+++ b/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll
@@ -23,7 +23,7 @@
   %indvar1 = phi i64 [ %indvar.next2, %for.body4 ], [ 0, %entry ]
   %.moved.to.for.body4 = mul i64 %0, %indvar1
   %1 = add i64 %.moved.to.for.body4, 0
-  %arrayidx7 = getelementptr double* %data, i64 %1
+  %arrayidx7 = getelementptr double, double* %data, i64 %1
   store double undef, double* %arrayidx7, align 8
   %indvar.next2 = add i64 %indvar1, 1
   br i1 false, label %for.body4, label %for.end10
diff --git a/polly/test/Isl/CodeGen/sequential_loops.ll b/polly/test/Isl/CodeGen/sequential_loops.ll
index 1c73479..a85141d 100644
--- a/polly/test/Isl/CodeGen/sequential_loops.ll
+++ b/polly/test/Isl/CodeGen/sequential_loops.ll
@@ -42,7 +42,7 @@
 
 bb1:                                              ; preds = %bb3, %bb
   %indvar1 = phi i64 [ %indvar.next2, %bb3 ], [ 0, %bb ]
-  %scevgep4 = getelementptr [1024 x i32]* @A, i64 0, i64 %indvar1
+  %scevgep4 = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvar1
   %exitcond3 = icmp ne i64 %indvar1, 512
   br i1 %exitcond3, label %bb2, label %bb4
 
@@ -60,7 +60,7 @@
 bb5:                                              ; preds = %bb7, %bb4
   %indvar = phi i64 [ %indvar.next, %bb7 ], [ 0, %bb4 ]
   %tmp = add i64 %indvar, 512
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %tmp
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %tmp
   %exitcond = icmp ne i64 %indvar, 512
   br i1 %exitcond, label %bb6, label %bb8
 
@@ -85,7 +85,7 @@
 bb1:                                              ; preds = %bb15, %bb
   %indvar = phi i64 [ %indvar.next, %bb15 ], [ 0, %bb ]
   %i.0 = trunc i64 %indvar to i32
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %indvar
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvar
   %tmp = icmp slt i32 %i.0, 1024
   br i1 %tmp, label %bb2, label %bb16
 
diff --git a/polly/test/Isl/CodeGen/simple_loop_non_single_exit.ll b/polly/test/Isl/CodeGen/simple_loop_non_single_exit.ll
index b523f0c..c84b551 100644
--- a/polly/test/Isl/CodeGen/simple_loop_non_single_exit.ll
+++ b/polly/test/Isl/CodeGen/simple_loop_non_single_exit.ll
@@ -21,7 +21,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %next], [ %indvar.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
diff --git a/polly/test/Isl/CodeGen/simple_loop_non_single_exit_2.ll b/polly/test/Isl/CodeGen/simple_loop_non_single_exit_2.ll
index f7793ad..58f6cfd 100644
--- a/polly/test/Isl/CodeGen/simple_loop_non_single_exit_2.ll
+++ b/polly/test/Isl/CodeGen/simple_loop_non_single_exit_2.ll
@@ -22,7 +22,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %next], [ %indvar.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
diff --git a/polly/test/Isl/CodeGen/simple_non_single_entry.ll b/polly/test/Isl/CodeGen/simple_non_single_entry.ll
index b93f21f..6949718 100644
--- a/polly/test/Isl/CodeGen/simple_non_single_entry.ll
+++ b/polly/test/Isl/CodeGen/simple_non_single_entry.ll
@@ -55,7 +55,7 @@
 for.i:
   %indvar = phi i64 [ 0, %for.i.head1], [ %indvar.next, %for.i ]
   fence seq_cst
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
diff --git a/polly/test/Isl/CodeGen/simple_nonaffine_loop.ll b/polly/test/Isl/CodeGen/simple_nonaffine_loop.ll
index ba0e0d9..185b217 100644
--- a/polly/test/Isl/CodeGen/simple_nonaffine_loop.ll
+++ b/polly/test/Isl/CodeGen/simple_nonaffine_loop.ll
@@ -34,7 +34,7 @@
   %mul = mul i32 %0, 2
   %mul1 = mul nsw i32 %0, %0
   %idxprom1 = zext i32 %mul1 to i64
-  %arrayidx = getelementptr inbounds [1048576 x i32]* %A, i64 0, i64 %idxprom1
+  %arrayidx = getelementptr inbounds [1048576 x i32], [1048576 x i32]* %A, i64 0, i64 %idxprom1
   store i32 %mul, i32* %arrayidx, align 4
   %1 = add nsw i32 %0, 1
   %exitcond = icmp ne i32 %1, 1024
@@ -45,7 +45,7 @@
   %rem = srem i32 %call, 1024
   %mul2 = shl nsw i32 %rem, 10
   %idxprom3 = sext i32 %mul2 to i64
-  %arrayidx4 = getelementptr inbounds [1048576 x i32]* %A, i64 0, i64 %idxprom3
+  %arrayidx4 = getelementptr inbounds [1048576 x i32], [1048576 x i32]* %A, i64 0, i64 %idxprom3
   %2 = load i32* %arrayidx4, align 16
   %call5 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([17 x i8]* @.str, i64 0, i64 0), i32 %2) nounwind
   ret i32 0
diff --git a/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll b/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll
index 68f6d83..2d2cb5a 100644
--- a/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_assign_scalar.ll
@@ -28,8 +28,8 @@
 
 bb2:                                              ; preds = %bb5, %bb
   %indvar = phi i64 [ %indvar.next, %bb5 ], [ 0, %bb ]
-  %scevgep = getelementptr [1024 x float]* @B, i64 0, i64 %indvar
-  %scevgep1 = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %scevgep = getelementptr [1024 x float], [1024 x float]* @B, i64 0, i64 %indvar
+  %scevgep1 = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %exitcond = icmp ne i64 %indvar, 4
   br i1 %exitcond, label %bb3, label %bb6
 
diff --git a/polly/test/Isl/CodeGen/simple_vec_assign_scalar_2.ll b/polly/test/Isl/CodeGen/simple_vec_assign_scalar_2.ll
index 62d1e0d..3ddf4d1 100644
--- a/polly/test/Isl/CodeGen/simple_vec_assign_scalar_2.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_assign_scalar_2.ll
@@ -28,9 +28,9 @@
 
 bb2:                                              ; preds = %bb6, %bb
   %indvar = phi i64 [ %indvar.next, %bb6 ], [ 0, %bb ]
-  %scevgep = getelementptr [1024 x float]* @B, i64 0, i64 %indvar
+  %scevgep = getelementptr [1024 x float], [1024 x float]* @B, i64 0, i64 %indvar
   %i.0 = trunc i64 %indvar to i32
-  %scevgep1 = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %scevgep1 = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %exitcond = icmp ne i64 %indvar, 4
   br i1 %exitcond, label %bb3, label %bb7
 
diff --git a/polly/test/Isl/CodeGen/simple_vec_call.ll b/polly/test/Isl/CodeGen/simple_vec_call.ll
index 3dcc414..78bf38e 100644
--- a/polly/test/Isl/CodeGen/simple_vec_call.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_call.ll
@@ -13,7 +13,7 @@
 
 body:
   %indvar = phi i64 [ 0, %entry ], [ %indvar_next, %body ]
-  %scevgep = getelementptr [1024 x float]* @B, i64 0, i64 %indvar
+  %scevgep = getelementptr [1024 x float], [1024 x float]* @B, i64 0, i64 %indvar
   %value = load float* getelementptr inbounds ([1024 x float]* @A, i64 0, i64 0), align 16
   %result = tail call float @foo(float %value) nounwind
   store float %result, float* %scevgep, align 4
diff --git a/polly/test/Isl/CodeGen/simple_vec_call_2.ll b/polly/test/Isl/CodeGen/simple_vec_call_2.ll
index c19bb40..d2a01a5 100644
--- a/polly/test/Isl/CodeGen/simple_vec_call_2.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_call_2.ll
@@ -13,7 +13,7 @@
 
 body:
   %indvar = phi i64 [ 0, %entry ], [ %indvar_next, %body ]
-  %scevgep = getelementptr [1024 x float**]* @B, i64 0, i64 %indvar
+  %scevgep = getelementptr [1024 x float**], [1024 x float**]* @B, i64 0, i64 %indvar
   %value = load float* getelementptr inbounds ([1024 x float]* @A, i64 0, i64 0), align 16
   %result = tail call float** @foo(float %value) nounwind
   store float** %result, float*** %scevgep, align 4
diff --git a/polly/test/Isl/CodeGen/simple_vec_cast.ll b/polly/test/Isl/CodeGen/simple_vec_cast.ll
index a00d3fa..8007aeb 100644
--- a/polly/test/Isl/CodeGen/simple_vec_cast.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_cast.ll
@@ -11,7 +11,7 @@
 
 bb1:                                              ; preds = %bb3, %bb
   %indvar = phi i64 [ %indvar.next, %bb3 ], [ 0, %bb ]
-  %scevgep = getelementptr [1024 x double]* @B, i64 0, i64 %indvar
+  %scevgep = getelementptr [1024 x double], [1024 x double]* @B, i64 0, i64 %indvar
   %exitcond = icmp ne i64 %indvar, 4
   br i1 %exitcond, label %bb2, label %bb4
 
diff --git a/polly/test/Isl/CodeGen/simple_vec_const.ll b/polly/test/Isl/CodeGen/simple_vec_const.ll
index c7d5dc5..fd4091f 100644
--- a/polly/test/Isl/CodeGen/simple_vec_const.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_const.ll
@@ -28,7 +28,7 @@
 
 ; <label>:1                                       ; preds = %4, %0
   %indvar = phi i64 [ %indvar.next, %4 ], [ 0, %0 ]
-  %scevgep = getelementptr [1024 x float]* @B, i64 0, i64 %indvar
+  %scevgep = getelementptr [1024 x float], [1024 x float]* @B, i64 0, i64 %indvar
   %exitcond = icmp ne i64 %indvar, 4
   br i1 %exitcond, label %2, label %5
 
diff --git a/polly/test/Isl/CodeGen/simple_vec_large_width.ll b/polly/test/Isl/CodeGen/simple_vec_large_width.ll
index e269df9..8508e59 100644
--- a/polly/test/Isl/CodeGen/simple_vec_large_width.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_large_width.ll
@@ -11,8 +11,8 @@
 
 ; <label>:1                                       ; preds = %4, %0
   %indvar = phi i64 [ %indvar.next, %4 ], [ 0, %0 ]
-  %scevgep = getelementptr [1024 x float]* @B, i64 0, i64 %indvar
-  %scevgep1 = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %scevgep = getelementptr [1024 x float], [1024 x float]* @B, i64 0, i64 %indvar
+  %scevgep1 = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %exitcond = icmp ne i64 %indvar, 15
   br i1 %exitcond, label %2, label %5
 
diff --git a/polly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll b/polly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll
index 4e0cf57..250badd 100644
--- a/polly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_ptr_ptr_ty.ll
@@ -13,7 +13,7 @@
 
 body:
   %indvar = phi i64 [ 0, %entry ], [ %indvar_next, %body ]
-  %scevgep = getelementptr [1024 x float**]* @B, i64 0, i64 %indvar
+  %scevgep = getelementptr [1024 x float**], [1024 x float**]* @B, i64 0, i64 %indvar
   %value = load float*** getelementptr inbounds ([1024 x float**]* @A, i64 0, i64 0), align 16
   store float** %value, float*** %scevgep, align 4
   %indvar_next = add i64 %indvar, 1
diff --git a/polly/test/Isl/CodeGen/simple_vec_stride_negative_one.ll b/polly/test/Isl/CodeGen/simple_vec_stride_negative_one.ll
index d5bd849..1c86993 100644
--- a/polly/test/Isl/CodeGen/simple_vec_stride_negative_one.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_stride_negative_one.ll
@@ -20,7 +20,7 @@
 
 for.body:                                         ; preds = %entry, %for.body
   %indvars.iv = phi i64 [ 3, %entry ], [ %indvars.iv.next, %for.body ]
-  %arrayidx = getelementptr inbounds [100 x i32]* @A, i64 0, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds [100 x i32], [100 x i32]* @A, i64 0, i64 %indvars.iv
   %0 = load i32* %arrayidx, align 4
   %add = add nsw i32 %0, 1
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/Isl/CodeGen/simple_vec_stride_x.ll b/polly/test/Isl/CodeGen/simple_vec_stride_x.ll
index f1f829d..570da41 100644
--- a/polly/test/Isl/CodeGen/simple_vec_stride_x.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_stride_x.ll
@@ -29,8 +29,8 @@
 bb2:                                              ; preds = %bb5, %bb
   %indvar = phi i64 [ %indvar.next, %bb5 ], [ 0, %bb ]
   %tmp = mul i64 %indvar, 2
-  %scevgep = getelementptr [1024 x float]* @B, i64 0, i64 %tmp
-  %scevgep1 = getelementptr [1024 x float]* @A, i64 0, i64 %tmp
+  %scevgep = getelementptr [1024 x float], [1024 x float]* @B, i64 0, i64 %tmp
+  %scevgep1 = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %tmp
   %exitcond = icmp ne i64 %indvar, 4
   br i1 %exitcond, label %bb3, label %bb6
 
diff --git a/polly/test/Isl/CodeGen/simple_vec_two_stmts.ll b/polly/test/Isl/CodeGen/simple_vec_two_stmts.ll
index 1cd471d..06a958e 100644
--- a/polly/test/Isl/CodeGen/simple_vec_two_stmts.ll
+++ b/polly/test/Isl/CodeGen/simple_vec_two_stmts.ll
@@ -12,9 +12,9 @@
 
 bb1:
   %indvar = phi i64 [ %indvar.next, %bb4 ], [ 0, %bb0 ]
-  %scevgep = getelementptr [1024 x float]* @B, i64 0, i64 %indvar
-  %scevgep2 = getelementptr [1024 x float]* @C, i64 0, i64 %indvar
-  %scevgep1 = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %scevgep = getelementptr [1024 x float], [1024 x float]* @B, i64 0, i64 %indvar
+  %scevgep2 = getelementptr [1024 x float], [1024 x float]* @C, i64 0, i64 %indvar
+  %scevgep1 = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %exitcond = icmp ne i64 %indvar, 4
   br i1 %exitcond, label %bb2a, label %bb5
 
diff --git a/polly/test/Isl/CodeGen/single_do_loop_one_iteration.ll b/polly/test/Isl/CodeGen/single_do_loop_one_iteration.ll
index cbf9bd5..a50c24d 100644
--- a/polly/test/Isl/CodeGen/single_do_loop_one_iteration.ll
+++ b/polly/test/Isl/CodeGen/single_do_loop_one_iteration.ll
@@ -33,15 +33,15 @@
 define i32 @main() nounwind {
 entry:
   %A = alloca [20 x i32], align 4                 ; <[20 x i32]*> [#uses=3]
-  %arraydecay = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx = getelementptr inbounds i32* %arraydecay, i64 0 ; <i32*> [#uses=1]
+  %arraydecay = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx = getelementptr inbounds i32, i32* %arraydecay, i64 0 ; <i32*> [#uses=1]
   store i32 1, i32* %arrayidx
   fence seq_cst
   br label %do.body
 
 do.body:                                          ; preds = %do.cond, %entry
-  %arraydecay1 = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx2 = getelementptr inbounds i32* %arraydecay1, i64 0 ; <i32*> [#uses=1]
+  %arraydecay1 = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx2 = getelementptr inbounds i32, i32* %arraydecay1, i64 0 ; <i32*> [#uses=1]
   store i32 0, i32* %arrayidx2
   br label %do.cond
 
@@ -50,8 +50,8 @@
 
 do.end:                                           ; preds = %do.cond
   fence seq_cst
-  %arraydecay4 = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx5 = getelementptr inbounds i32* %arraydecay4, i64 0 ; <i32*> [#uses=1]
+  %arraydecay4 = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx5 = getelementptr inbounds i32, i32* %arraydecay4, i64 0 ; <i32*> [#uses=1]
   %tmp6 = load i32* %arrayidx5                    ; <i32> [#uses=1]
   %cmp7 = icmp eq i32 %tmp6, 0                    ; <i1> [#uses=1]
   br i1 %cmp7, label %if.then, label %if.else
diff --git a/polly/test/Isl/CodeGen/single_do_loop_scev_replace.ll b/polly/test/Isl/CodeGen/single_do_loop_scev_replace.ll
index b52b9ce..389282e 100644
--- a/polly/test/Isl/CodeGen/single_do_loop_scev_replace.ll
+++ b/polly/test/Isl/CodeGen/single_do_loop_scev_replace.ll
@@ -51,7 +51,7 @@
 do.body:                                          ; preds = %do.cond, %entry
   %indvar = phi i64 [ %indvar.next, %do.cond ], [ 0, %entry ] ; <i64> [#uses=3]
   %tmp = mul i64 %indvar, 2                       ; <i64> [#uses=1]
-  %arrayidx = getelementptr [40 x i32]* @A, i64 0, i64 %tmp ; <i32*> [#uses=1]
+  %arrayidx = getelementptr [40 x i32], [40 x i32]* @A, i64 0, i64 %tmp ; <i32*> [#uses=1]
   %i.0 = trunc i64 %indvar to i32                 ; <i32> [#uses=1]
   br label %do.cond
 
diff --git a/polly/test/Isl/CodeGen/single_loop.ll b/polly/test/Isl/CodeGen/single_loop.ll
index 17f0922..26721a0 100644
--- a/polly/test/Isl/CodeGen/single_loop.ll
+++ b/polly/test/Isl/CodeGen/single_loop.ll
@@ -27,14 +27,14 @@
 define i32 @main() nounwind {
 entry:
   %A = alloca [1024 x i32], align 4               ; <[1024 x i32]*> [#uses=3]
-  %arraydecay = getelementptr inbounds [1024 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arraydecay = getelementptr inbounds [1024 x i32], [1024 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
   %conv = bitcast i32* %arraydecay to i8*         ; <i8*> [#uses=1]
   call void @llvm.memset.p0i8.i64(i8* %conv, i8 0, i64 4096, i32 1, i1 false)
   br label %for.cond
 
 for.cond:                                         ; preds = %for.inc, %entry
   %indvar1 = phi i64 [ %indvar.next2, %for.inc ], [ 0, %entry ] ; <i64> [#uses=3]
-  %arrayidx = getelementptr [1024 x i32]* %A, i64 0, i64 %indvar1 ; <i32*> [#uses=1]
+  %arrayidx = getelementptr [1024 x i32], [1024 x i32]* %A, i64 0, i64 %indvar1 ; <i32*> [#uses=1]
   %exitcond = icmp ne i64 %indvar1, 1024          ; <i1> [#uses=1]
   br i1 %exitcond, label %for.body, label %for.end
 
@@ -51,7 +51,7 @@
 
 for.cond5:                                        ; preds = %for.inc07, %for.end
   %indvar = phi i64 [ %indvar.next, %for.inc07 ], [ 0, %for.end ] ; <i64> [#uses=3]
-  %arrayidx13 = getelementptr [1024 x i32]* %A, i64 0, i64 %indvar ; <i32*> [#uses=1]
+  %arrayidx13 = getelementptr [1024 x i32], [1024 x i32]* %A, i64 0, i64 %indvar ; <i32*> [#uses=1]
   %i.1 = trunc i64 %indvar to i32                 ; <i32> [#uses=1]
   %cmp7 = icmp slt i32 %i.1, 1024                 ; <i1> [#uses=1]
   br i1 %cmp7, label %for.body9, label %for.end20
diff --git a/polly/test/Isl/CodeGen/single_loop_int_max_iterations.ll b/polly/test/Isl/CodeGen/single_loop_int_max_iterations.ll
index 36c3f62..5f4a9d6 100644
--- a/polly/test/Isl/CodeGen/single_loop_int_max_iterations.ll
+++ b/polly/test/Isl/CodeGen/single_loop_int_max_iterations.ll
@@ -28,8 +28,8 @@
 define i32 @main() nounwind {
 entry:
   %A = alloca [20 x i32], align 4                 ; <[20 x i32]*> [#uses=3]
-  %arraydecay = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx = getelementptr inbounds i32* %arraydecay, i64 0 ; <i32*> [#uses=1]
+  %arraydecay = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx = getelementptr inbounds i32, i32* %arraydecay, i64 0 ; <i32*> [#uses=1]
   store i32 0, i32* %arrayidx
   fence seq_cst
   br label %for.cond
@@ -40,8 +40,8 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arraydecay2 = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx3 = getelementptr inbounds i32* %arraydecay2, i64 0 ; <i32*> [#uses=1]
+  %arraydecay2 = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx3 = getelementptr inbounds i32, i32* %arraydecay2, i64 0 ; <i32*> [#uses=1]
   store i32 %0, i32* %arrayidx3
   br label %for.inc
 
@@ -51,8 +51,8 @@
 
 for.end:                                          ; preds = %for.cond
   fence seq_cst
-  %arraydecay5 = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx6 = getelementptr inbounds i32* %arraydecay5, i64 0 ; <i32*> [#uses=1]
+  %arraydecay5 = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx6 = getelementptr inbounds i32, i32* %arraydecay5, i64 0 ; <i32*> [#uses=1]
   %tmp7 = load i32* %arrayidx6                    ; <i32> [#uses=1]
   %cmp8 = icmp eq i32 %tmp7, 2147483646           ; <i1> [#uses=1]
   br i1 %cmp8, label %if.then, label %if.else
diff --git a/polly/test/Isl/CodeGen/single_loop_ll_max_iterations.ll b/polly/test/Isl/CodeGen/single_loop_ll_max_iterations.ll
index 16ec546..cb82a72 100644
--- a/polly/test/Isl/CodeGen/single_loop_ll_max_iterations.ll
+++ b/polly/test/Isl/CodeGen/single_loop_ll_max_iterations.ll
@@ -28,8 +28,8 @@
 define i32 @main() nounwind {
 entry:
   %A = alloca [20 x i64], align 8                 ; <[20 x i64]*> [#uses=3]
-  %arraydecay = getelementptr inbounds [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
-  %arrayidx = getelementptr inbounds i64* %arraydecay, i64 0 ; <i64*> [#uses=1]
+  %arraydecay = getelementptr inbounds [20 x i64], [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
+  %arrayidx = getelementptr inbounds i64, i64* %arraydecay, i64 0 ; <i64*> [#uses=1]
   store i64 0, i64* %arrayidx
   fence seq_cst
   br label %for.cond
@@ -40,8 +40,8 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arraydecay2 = getelementptr inbounds [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
-  %arrayidx3 = getelementptr inbounds i64* %arraydecay2, i64 0 ; <i64*> [#uses=1]
+  %arraydecay2 = getelementptr inbounds [20 x i64], [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
+  %arrayidx3 = getelementptr inbounds i64, i64* %arraydecay2, i64 0 ; <i64*> [#uses=1]
   store i64 %0, i64* %arrayidx3
   br label %for.inc
 
@@ -51,8 +51,8 @@
 
 for.end:                                          ; preds = %for.cond
   fence seq_cst
-  %arraydecay5 = getelementptr inbounds [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
-  %arrayidx6 = getelementptr inbounds i64* %arraydecay5, i64 0 ; <i64*> [#uses=1]
+  %arraydecay5 = getelementptr inbounds [20 x i64], [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
+  %arrayidx6 = getelementptr inbounds i64, i64* %arraydecay5, i64 0 ; <i64*> [#uses=1]
   %tmp7 = load i64* %arrayidx6                    ; <i64> [#uses=1]
   %cmp8 = icmp eq i64 %tmp7, 9223372036854775806  ; <i1> [#uses=1]
   br i1 %cmp8, label %if.then, label %if.else
diff --git a/polly/test/Isl/CodeGen/single_loop_one_iteration.ll b/polly/test/Isl/CodeGen/single_loop_one_iteration.ll
index c78cd03..defb217 100644
--- a/polly/test/Isl/CodeGen/single_loop_one_iteration.ll
+++ b/polly/test/Isl/CodeGen/single_loop_one_iteration.ll
@@ -27,15 +27,15 @@
 define i32 @main() nounwind {
 entry:
   %A = alloca [20 x i32], align 4                 ; <[20 x i32]*> [#uses=3]
-  %arraydecay = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx = getelementptr inbounds i32* %arraydecay, i64 0 ; <i32*> [#uses=1]
+  %arraydecay = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx = getelementptr inbounds i32, i32* %arraydecay, i64 0 ; <i32*> [#uses=1]
   store i32 0, i32* %arrayidx
   fence seq_cst
   br label %for.cond
 
 for.cond:                                         ; preds = %for.inc, %entry
   %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %entry ] ; <i64> [#uses=3]
-  %arrayidx3 = getelementptr [20 x i32]* %A, i64 0, i64 %indvar ; <i32*> [#uses=1]
+  %arrayidx3 = getelementptr [20 x i32], [20 x i32]* %A, i64 0, i64 %indvar ; <i32*> [#uses=1]
   %exitcond = icmp ne i64 %indvar, 1              ; <i1> [#uses=1]
   br i1 %exitcond, label %for.body, label %for.end
 
@@ -49,8 +49,8 @@
 
 for.end:                                          ; preds = %for.cond
   fence seq_cst
-  %arraydecay5 = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx6 = getelementptr inbounds i32* %arraydecay5, i64 0 ; <i32*> [#uses=1]
+  %arraydecay5 = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx6 = getelementptr inbounds i32, i32* %arraydecay5, i64 0 ; <i32*> [#uses=1]
   %tmp7 = load i32* %arrayidx6                    ; <i32> [#uses=1]
   %cmp8 = icmp eq i32 %tmp7, 1                    ; <i1> [#uses=1]
   br i1 %cmp8, label %if.then, label %if.else
diff --git a/polly/test/Isl/CodeGen/single_loop_param.ll b/polly/test/Isl/CodeGen/single_loop_param.ll
index de643e0..7d41d98 100644
--- a/polly/test/Isl/CodeGen/single_loop_param.ll
+++ b/polly/test/Isl/CodeGen/single_loop_param.ll
@@ -11,7 +11,7 @@
 
 bb1:                                              ; preds = %bb3, %bb
   %i.0 = phi i64 [ 0, %bb ], [ %tmp, %bb3 ]       ; <i64> [#uses=3]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %i.0 ; <i32*> [#uses=1]
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %i.0 ; <i32*> [#uses=1]
   %exitcond = icmp ne i64 %i.0, %n                ; <i1> [#uses=1]
   br i1 %exitcond, label %bb2, label %bb4
 
@@ -36,7 +36,7 @@
 
 bb1:                                              ; preds = %bb7, %bb
   %indvar = phi i64 [ %indvar.next, %bb7 ], [ 0, %bb ] ; <i64> [#uses=3]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=1]
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=1]
   %i.0 = trunc i64 %indvar to i32                 ; <i32> [#uses=1]
   %tmp = icmp slt i32 %i.0, 1024                  ; <i1> [#uses=1]
   br i1 %tmp, label %bb2, label %bb8
diff --git a/polly/test/Isl/CodeGen/single_loop_zero_iterations.ll b/polly/test/Isl/CodeGen/single_loop_zero_iterations.ll
index 3359d82..7a2d903 100644
--- a/polly/test/Isl/CodeGen/single_loop_zero_iterations.ll
+++ b/polly/test/Isl/CodeGen/single_loop_zero_iterations.ll
@@ -27,15 +27,15 @@
 define i32 @main() nounwind {
 entry:
   %A = alloca [20 x i32], align 4                 ; <[20 x i32]*> [#uses=3]
-  %arraydecay = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx = getelementptr inbounds i32* %arraydecay, i64 0 ; <i32*> [#uses=1]
+  %arraydecay = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx = getelementptr inbounds i32, i32* %arraydecay, i64 0 ; <i32*> [#uses=1]
   store i32 0, i32* %arrayidx
   fence seq_cst
   br label %for.cond
 
 for.cond:                                         ; preds = %for.inc, %entry
   %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %entry ] ; <i64> [#uses=2]
-  %arrayidx3 = getelementptr [20 x i32]* %A, i64 0, i64 %indvar ; <i32*> [#uses=1]
+  %arrayidx3 = getelementptr [20 x i32], [20 x i32]* %A, i64 0, i64 %indvar ; <i32*> [#uses=1]
   br i1 false, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
@@ -48,8 +48,8 @@
 
 for.end:                                          ; preds = %for.cond
   fence seq_cst
-  %arraydecay5 = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx6 = getelementptr inbounds i32* %arraydecay5, i64 0 ; <i32*> [#uses=1]
+  %arraydecay5 = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx6 = getelementptr inbounds i32, i32* %arraydecay5, i64 0 ; <i32*> [#uses=1]
   %tmp7 = load i32* %arrayidx6                    ; <i32> [#uses=1]
   %cmp8 = icmp eq i32 %tmp7, 0                    ; <i1> [#uses=1]
   br i1 %cmp8, label %if.then, label %if.else
diff --git a/polly/test/Isl/CodeGen/test-invalid-operands-for-select-2.ll b/polly/test/Isl/CodeGen/test-invalid-operands-for-select-2.ll
index aa41d7c..8b3e0c6 100644
--- a/polly/test/Isl/CodeGen/test-invalid-operands-for-select-2.ll
+++ b/polly/test/Isl/CodeGen/test-invalid-operands-for-select-2.ll
@@ -24,10 +24,10 @@
 for.body9:                                        ; preds = %for.body9, %for.cond7.preheader
   %ix.02 = phi i32 [ %inc, %for.body9 ], [ 0, %for.cond7.preheader ]
   %idxprom74 = sext i32 %iz.08 to i64
-  %arrayidx75 = getelementptr inbounds double* %czp, i64 %idxprom74
+  %arrayidx75 = getelementptr inbounds double, double* %czp, i64 %idxprom74
   %0 = load double* %arrayidx75, align 8
   %idxprom102 = sext i32 %iz.08 to i64
-  %arrayidx105 = getelementptr inbounds [65 x [65 x double]]* %Hz, i64 %idxprom102, i64 0, i64 0
+  %arrayidx105 = getelementptr inbounds [65 x [65 x double]], [65 x [65 x double]]* %Hz, i64 %idxprom102, i64 0, i64 0
   store double undef, double* %arrayidx105, align 8
   %inc = add nsw i32 %ix.02, 1
   br i1 false, label %for.body9, label %for.end
@@ -35,14 +35,14 @@
 for.end:                                          ; preds = %for.body9, %for.cond7.preheader
   %idxprom209 = sext i32 %cxm to i64
   %idxprom211 = sext i32 %iz.08 to i64
-  %arrayidx214 = getelementptr inbounds [65 x [65 x double]]* %Hz, i64 %idxprom211, i64 0, i64 %idxprom209
+  %arrayidx214 = getelementptr inbounds [65 x [65 x double]], [65 x [65 x double]]* %Hz, i64 %idxprom211, i64 0, i64 %idxprom209
   store double undef, double* %arrayidx214, align 8
   %idxprom430 = sext i32 %cxm to i64
   %idxprom431 = sext i32 %cym to i64
   %idxprom432 = sext i32 %iz.08 to i64
-  %arrayidx435 = getelementptr inbounds [65 x [65 x double]]* %Hz, i64 %idxprom432, i64 %idxprom431, i64 %idxprom430
+  %arrayidx435 = getelementptr inbounds [65 x [65 x double]], [65 x [65 x double]]* %Hz, i64 %idxprom432, i64 %idxprom431, i64 %idxprom430
   store double undef, double* %arrayidx435, align 8
-  %arrayidx445 = getelementptr inbounds [65 x [65 x double]]* %Bza, i64 0, i64 0, i64 0
+  %arrayidx445 = getelementptr inbounds [65 x [65 x double]], [65 x [65 x double]]* %Bza, i64 0, i64 0, i64 0
   store double undef, double* %arrayidx445, align 8
   %inc447 = add nsw i32 %iy.06, 1
   %cmp5 = icmp slt i32 %inc447, %cym
diff --git a/polly/test/Isl/CodeGen/test-invalid-operands-for-select.ll b/polly/test/Isl/CodeGen/test-invalid-operands-for-select.ll
index 34bbafe..efe3f14 100644
--- a/polly/test/Isl/CodeGen/test-invalid-operands-for-select.ll
+++ b/polly/test/Isl/CodeGen/test-invalid-operands-for-select.ll
@@ -34,34 +34,34 @@
   %t7.014 = phi i32 [ 0, %for.body53.lr.ph ], [ %add58, %for.body53 ]
   %i.013 = phi i32 [ 2, %for.body53.lr.ph ], [ %add193, %for.body53 ]
   %add58 = add nsw i32 %t7.014, 2
-  %arrayidx70 = getelementptr inbounds float* %cc, i64 0
-  %arrayidx72 = getelementptr inbounds float* %cc, i64 0
-  %arrayidx77 = getelementptr inbounds float* %cc, i64 0
-  %arrayidx81 = getelementptr inbounds float* %cc, i64 0
-  %arrayidx84 = getelementptr inbounds float* %cc, i64 0
-  %arrayidx95 = getelementptr inbounds float* %cc, i64 0
-  %arrayidx105 = getelementptr inbounds float* %cc, i64 0
-  %arrayidx110 = getelementptr inbounds float* %ch, i64 0
+  %arrayidx70 = getelementptr inbounds float, float* %cc, i64 0
+  %arrayidx72 = getelementptr inbounds float, float* %cc, i64 0
+  %arrayidx77 = getelementptr inbounds float, float* %cc, i64 0
+  %arrayidx81 = getelementptr inbounds float, float* %cc, i64 0
+  %arrayidx84 = getelementptr inbounds float, float* %cc, i64 0
+  %arrayidx95 = getelementptr inbounds float, float* %cc, i64 0
+  %arrayidx105 = getelementptr inbounds float, float* %cc, i64 0
+  %arrayidx110 = getelementptr inbounds float, float* %ch, i64 0
   store float undef, float* %arrayidx110, align 4
-  %arrayidx122 = getelementptr inbounds float* %wa1, i64 0
+  %arrayidx122 = getelementptr inbounds float, float* %wa1, i64 0
   %add129 = add nsw i32 %add58, %mul
   %idxprom142 = sext i32 %add129 to i64
-  %arrayidx143 = getelementptr inbounds float* %ch, i64 %idxprom142
+  %arrayidx143 = getelementptr inbounds float, float* %ch, i64 %idxprom142
   store float undef, float* %arrayidx143, align 4
   %add153 = add nsw i32 %add129, %mul
-  %arrayidx170 = getelementptr inbounds float* %wa3, i64 0
-  %arrayidx174 = getelementptr inbounds float* %wa3, i64 0
+  %arrayidx170 = getelementptr inbounds float, float* %wa3, i64 0
+  %arrayidx174 = getelementptr inbounds float, float* %wa3, i64 0
   %add177 = add nsw i32 %add153, %mul
   %sub178 = add nsw i32 %add177, -1
   %idxprom179 = sext i32 %sub178 to i64
-  %arrayidx180 = getelementptr inbounds float* %ch, i64 %idxprom179
+  %arrayidx180 = getelementptr inbounds float, float* %ch, i64 %idxprom179
   store float undef, float* %arrayidx180, align 4
-  %arrayidx183 = getelementptr inbounds float* %wa3, i64 0
+  %arrayidx183 = getelementptr inbounds float, float* %wa3, i64 0
   %0 = load float* %arrayidx183, align 4
   %mul184 = fmul float undef, %0
   %add189 = fadd float %mul184, 0.000000e+00
   %idxprom190 = sext i32 %add177 to i64
-  %arrayidx191 = getelementptr inbounds float* %ch, i64 %idxprom190
+  %arrayidx191 = getelementptr inbounds float, float* %ch, i64 %idxprom190
   store float %add189, float* %arrayidx191, align 4
   %add193 = add nsw i32 %i.013, 2
   %cmp52 = icmp slt i32 %add193, %ido
diff --git a/polly/test/Isl/CodeGen/test.ll b/polly/test/Isl/CodeGen/test.ll
index fe37d05..88ea779 100644
--- a/polly/test/Isl/CodeGen/test.ll
+++ b/polly/test/Isl/CodeGen/test.ll
@@ -47,14 +47,14 @@
 
 bb.nph.us:                                        ; preds = %bb.nph31.split.us, %for.inc06.us
   %indvar = phi i64 [ %indvar.next, %for.inc06.us ], [ 0, %bb.nph31.split.us ] ; <i64> [#uses=3]
-  %arrayidx.us = getelementptr [100 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
+  %arrayidx.us = getelementptr [100 x i32], [100 x i32]* @A, i64 0, i64 %indvar ; <i32*> [#uses=2]
   %i.027.us = trunc i64 %indvar to i32            ; <i32> [#uses=2]
   store i32 %i.027.us, i32* %arrayidx.us
   br label %for.body6.us
 
 for.end19:                                        ; preds = %for.inc06.us
   %idxprom21 = sext i32 %z to i64                 ; <i64> [#uses=1]
-  %arrayidx22 = getelementptr inbounds [100 x i32]* @A, i64 0, i64 %idxprom21 ; <i32*> [#uses=1]
+  %arrayidx22 = getelementptr inbounds [100 x i32], [100 x i32]* @A, i64 0, i64 %idxprom21 ; <i32*> [#uses=1]
   %tmp23 = load i32* %arrayidx22                  ; <i32> [#uses=1]
   ret i32 %tmp23
 }
diff --git a/polly/test/Isl/CodeGen/two-scops-in-row.ll b/polly/test/Isl/CodeGen/two-scops-in-row.ll
index 0529aee..61497b5 100644
--- a/polly/test/Isl/CodeGen/two-scops-in-row.ll
+++ b/polly/test/Isl/CodeGen/two-scops-in-row.ll
@@ -30,7 +30,7 @@
 
 for.1:
   %indvar.1 = phi i32 [ %Scalar0.val, %for.1.preheader ], [ %indvar.1.next, %for.1]
-  %arrayidx.1 = getelementptr inbounds i32* %A, i32 %indvar.1
+  %arrayidx.1 = getelementptr inbounds i32, i32* %A, i32 %indvar.1
   store i32 1, i32* %arrayidx.1
   %indvar.1.next = add nsw i32 %indvar.1, 1
   %cmp.1 = icmp slt i32 %indvar.1.next, 100
diff --git a/polly/test/Isl/single_loop_param_less_equal.ll b/polly/test/Isl/single_loop_param_less_equal.ll
index 831350d..6e383fc 100644
--- a/polly/test/Isl/single_loop_param_less_equal.ll
+++ b/polly/test/Isl/single_loop_param_less_equal.ll
@@ -14,7 +14,7 @@
 
 loop.header:
   %i = phi i64 [ 0, %start ], [ %i.next, %loop.backedge ]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %i
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %i
   %exitcond = icmp ne i64 %i, %n_plus_one
   br i1 %exitcond, label %loop.body, label %ret
 
@@ -49,7 +49,7 @@
 ; CODEGEN:   br label %polly.stmt.loop.body
 
 ; CODEGEN: polly.stmt.loop.body:
-; CODEGEN:   [[PTR:%[a-zA-Z0-9_\.]+]] = getelementptr [1024 x i32]* @A, i64 0, i64 %polly.indvar
+; CODEGEN:   [[PTR:%[a-zA-Z0-9_\.]+]] = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %polly.indvar
 ; CODEGEN:   store i32 1, i32* [[PTR]]
 ; CODEGEN:   %polly.indvar_next = add nsw i64 %polly.indvar, 1
 ; CODEGEN:   %polly.adjust_ub = sub i64 %n, 1
diff --git a/polly/test/Isl/single_loop_param_less_than.ll b/polly/test/Isl/single_loop_param_less_than.ll
index e0f0a1f..c1ce107 100644
--- a/polly/test/Isl/single_loop_param_less_than.ll
+++ b/polly/test/Isl/single_loop_param_less_than.ll
@@ -12,7 +12,7 @@
 
 loop.header:
   %i = phi i64 [ 0, %start ], [ %i.next, %loop.backedge ]
-  %scevgep = getelementptr [1024 x i32]* @A, i64 0, i64 %i
+  %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %i
   %exitcond = icmp ne i64 %i, %n
   br i1 %exitcond, label %loop.body, label %ret
 
@@ -47,7 +47,7 @@
 ; CODEGEN:   br label %polly.stmt.loop.body
 
 ; CODEGEN: polly.stmt.loop.body:
-; CODEGEN:   [[PTR:%[a-zA-Z0-9_\.]+]] =  getelementptr [1024 x i32]* @A, i64 0, i64 %polly.indvar
+; CODEGEN:   [[PTR:%[a-zA-Z0-9_\.]+]] =  getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %polly.indvar
 ; CODEGEN:   store i32 1, i32* [[PTR]]
 ; CODEGEN:   %polly.indvar_next = add nsw i64 %polly.indvar, 1
 ; CODEGEN:   %polly.adjust_ub = sub i64 %n, 1
diff --git a/polly/test/Isl/single_loop_uint_max_iterations.ll b/polly/test/Isl/single_loop_uint_max_iterations.ll
index b92ec4a..e481f52 100644
--- a/polly/test/Isl/single_loop_uint_max_iterations.ll
+++ b/polly/test/Isl/single_loop_uint_max_iterations.ll
@@ -29,8 +29,8 @@
 define i32 @main() nounwind {
 entry:
   %A = alloca [20 x i32], align 4                 ; <[20 x i32]*> [#uses=3]
-  %arraydecay = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx = getelementptr inbounds i32* %arraydecay, i64 0 ; <i32*> [#uses=1]
+  %arraydecay = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx = getelementptr inbounds i32, i32* %arraydecay, i64 0 ; <i32*> [#uses=1]
   store i32 0, i32* %arrayidx
   fence seq_cst
   br label %for.cond
@@ -41,8 +41,8 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arraydecay2 = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx3 = getelementptr inbounds i32* %arraydecay2, i64 0 ; <i32*> [#uses=1]
+  %arraydecay2 = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx3 = getelementptr inbounds i32, i32* %arraydecay2, i64 0 ; <i32*> [#uses=1]
   store i32 %0, i32* %arrayidx3
   br label %for.inc
 
@@ -52,8 +52,8 @@
 
 for.end:                                          ; preds = %for.cond
   fence seq_cst
-  %arraydecay5 = getelementptr inbounds [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
-  %arrayidx6 = getelementptr inbounds i32* %arraydecay5, i64 0 ; <i32*> [#uses=1]
+  %arraydecay5 = getelementptr inbounds [20 x i32], [20 x i32]* %A, i32 0, i32 0 ; <i32*> [#uses=1]
+  %arrayidx6 = getelementptr inbounds i32, i32* %arraydecay5, i64 0 ; <i32*> [#uses=1]
   %tmp7 = load i32* %arrayidx6                    ; <i32> [#uses=1]
   %cmp8 = icmp eq i32 %tmp7, -2                   ; <i1> [#uses=1]
   br i1 %cmp8, label %if.then, label %if.else
diff --git a/polly/test/Isl/single_loop_ull_max_iterations.ll b/polly/test/Isl/single_loop_ull_max_iterations.ll
index 24748b9..ca488ad 100644
--- a/polly/test/Isl/single_loop_ull_max_iterations.ll
+++ b/polly/test/Isl/single_loop_ull_max_iterations.ll
@@ -29,8 +29,8 @@
 define i32 @main() nounwind {
 entry:
   %A = alloca [20 x i64], align 8                 ; <[20 x i64]*> [#uses=3]
-  %arraydecay = getelementptr inbounds [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
-  %arrayidx = getelementptr inbounds i64* %arraydecay, i64 0 ; <i64*> [#uses=1]
+  %arraydecay = getelementptr inbounds [20 x i64], [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
+  %arrayidx = getelementptr inbounds i64, i64* %arraydecay, i64 0 ; <i64*> [#uses=1]
   store i64 0, i64* %arrayidx
   fence seq_cst
   br label %for.cond
@@ -41,8 +41,8 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arraydecay2 = getelementptr inbounds [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
-  %arrayidx3 = getelementptr inbounds i64* %arraydecay2, i64 0 ; <i64*> [#uses=1]
+  %arraydecay2 = getelementptr inbounds [20 x i64], [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
+  %arrayidx3 = getelementptr inbounds i64, i64* %arraydecay2, i64 0 ; <i64*> [#uses=1]
   store i64 %0, i64* %arrayidx3
   br label %for.inc
 
@@ -52,8 +52,8 @@
 
 for.end:                                          ; preds = %for.cond
   fence seq_cst
-  %arraydecay5 = getelementptr inbounds [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
-  %arrayidx6 = getelementptr inbounds i64* %arraydecay5, i64 0 ; <i64*> [#uses=1]
+  %arraydecay5 = getelementptr inbounds [20 x i64], [20 x i64]* %A, i32 0, i32 0 ; <i64*> [#uses=1]
+  %arrayidx6 = getelementptr inbounds i64, i64* %arraydecay5, i64 0 ; <i64*> [#uses=1]
   %tmp7 = load i64* %arrayidx6                    ; <i64> [#uses=1]
   %cmp8 = icmp eq i64 %tmp7, -2                   ; <i1> [#uses=1]
   br i1 %cmp8, label %if.then, label %if.else
diff --git a/polly/test/ScheduleOptimizer/2012-04-16-Trivially-vectorizable-loops.ll b/polly/test/ScheduleOptimizer/2012-04-16-Trivially-vectorizable-loops.ll
index 6b203e4..fa61272 100644
--- a/polly/test/ScheduleOptimizer/2012-04-16-Trivially-vectorizable-loops.ll
+++ b/polly/test/ScheduleOptimizer/2012-04-16-Trivially-vectorizable-loops.ll
@@ -38,8 +38,8 @@
   %conv4 = fptrunc double %div to float
   %idxprom = sext i32 %j.0 to i64
   %idxprom5 = sext i32 %i.0 to i64
-  %arrayidx = getelementptr inbounds [1536 x [1536 x float]]* @A, i32 0, i64 %idxprom5
-  %arrayidx6 = getelementptr inbounds [1536 x float]* %arrayidx, i32 0, i64 %idxprom
+  %arrayidx = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x float]]* @A, i32 0, i64 %idxprom5
+  %arrayidx6 = getelementptr inbounds [1536 x float], [1536 x float]* %arrayidx, i32 0, i64 %idxprom
   store float %conv4, float* %arrayidx6, align 4
   %mul7 = mul nsw i32 %i.0, %j.0
   %rem8 = srem i32 %mul7, 1024
@@ -49,8 +49,8 @@
   %conv12 = fptrunc double %div11 to float
   %idxprom13 = sext i32 %j.0 to i64
   %idxprom14 = sext i32 %i.0 to i64
-  %arrayidx15 = getelementptr inbounds [1536 x [1536 x float]]* @B, i32 0, i64 %idxprom14
-  %arrayidx16 = getelementptr inbounds [1536 x float]* %arrayidx15, i32 0, i64 %idxprom13
+  %arrayidx15 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x float]]* @B, i32 0, i64 %idxprom14
+  %arrayidx16 = getelementptr inbounds [1536 x float], [1536 x float]* %arrayidx15, i32 0, i64 %idxprom13
   store float %conv12, float* %arrayidx16, align 4
   br label %for.inc
 
@@ -90,8 +90,8 @@
   %0 = load %struct._IO_FILE** @stdout, align 8
   %idxprom = sext i32 %j.0 to i64
   %idxprom4 = sext i32 %i.0 to i64
-  %arrayidx = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom4
-  %arrayidx5 = getelementptr inbounds [1536 x float]* %arrayidx, i32 0, i64 %idxprom
+  %arrayidx = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom4
+  %arrayidx5 = getelementptr inbounds [1536 x float], [1536 x float]* %arrayidx, i32 0, i64 %idxprom
   %1 = load float* %arrayidx5, align 4
   %conv = fpext float %1 to double
   %call = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %0, i8* getelementptr inbounds ([5 x i8]* @.str, i32 0, i32 0), double %conv)
@@ -147,8 +147,8 @@
 for.body3:                                        ; preds = %for.cond1
   %idxprom = sext i32 %j.0 to i64
   %idxprom4 = sext i32 %i.0 to i64
-  %arrayidx = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom4
-  %arrayidx5 = getelementptr inbounds [1536 x float]* %arrayidx, i32 0, i64 %idxprom
+  %arrayidx = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom4
+  %arrayidx5 = getelementptr inbounds [1536 x float], [1536 x float]* %arrayidx, i32 0, i64 %idxprom
   store float 0.000000e+00, float* %arrayidx5, align 4
   br label %for.cond6
 
@@ -160,25 +160,25 @@
 for.body8:                                        ; preds = %for.cond6
   %idxprom9 = sext i32 %j.0 to i64
   %idxprom10 = sext i32 %i.0 to i64
-  %arrayidx11 = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom10
-  %arrayidx12 = getelementptr inbounds [1536 x float]* %arrayidx11, i32 0, i64 %idxprom9
+  %arrayidx11 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom10
+  %arrayidx12 = getelementptr inbounds [1536 x float], [1536 x float]* %arrayidx11, i32 0, i64 %idxprom9
   %0 = load float* %arrayidx12, align 4
   %idxprom13 = sext i32 %k.0 to i64
   %idxprom14 = sext i32 %i.0 to i64
-  %arrayidx15 = getelementptr inbounds [1536 x [1536 x float]]* @A, i32 0, i64 %idxprom14
-  %arrayidx16 = getelementptr inbounds [1536 x float]* %arrayidx15, i32 0, i64 %idxprom13
+  %arrayidx15 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x float]]* @A, i32 0, i64 %idxprom14
+  %arrayidx16 = getelementptr inbounds [1536 x float], [1536 x float]* %arrayidx15, i32 0, i64 %idxprom13
   %1 = load float* %arrayidx16, align 4
   %idxprom17 = sext i32 %j.0 to i64
   %idxprom18 = sext i32 %k.0 to i64
-  %arrayidx19 = getelementptr inbounds [1536 x [1536 x float]]* @B, i32 0, i64 %idxprom18
-  %arrayidx20 = getelementptr inbounds [1536 x float]* %arrayidx19, i32 0, i64 %idxprom17
+  %arrayidx19 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x float]]* @B, i32 0, i64 %idxprom18
+  %arrayidx20 = getelementptr inbounds [1536 x float], [1536 x float]* %arrayidx19, i32 0, i64 %idxprom17
   %2 = load float* %arrayidx20, align 4
   %mul = fmul float %1, %2
   %add = fadd float %0, %mul
   %idxprom21 = sext i32 %j.0 to i64
   %idxprom22 = sext i32 %i.0 to i64
-  %arrayidx23 = getelementptr inbounds [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom22
-  %arrayidx24 = getelementptr inbounds [1536 x float]* %arrayidx23, i32 0, i64 %idxprom21
+  %arrayidx23 = getelementptr inbounds [1536 x [1536 x float]], [1536 x [1536 x float]]* @C, i32 0, i64 %idxprom22
+  %arrayidx24 = getelementptr inbounds [1536 x float], [1536 x float]* %arrayidx23, i32 0, i64 %idxprom21
   store float %add, float* %arrayidx24, align 4
   br label %for.inc
 
diff --git a/polly/test/ScheduleOptimizer/2012-10-14-Zero-Bands.ll b/polly/test/ScheduleOptimizer/2012-10-14-Zero-Bands.ll
index f1d91c5..3c0c513 100644
--- a/polly/test/ScheduleOptimizer/2012-10-14-Zero-Bands.ll
+++ b/polly/test/ScheduleOptimizer/2012-10-14-Zero-Bands.ll
@@ -12,7 +12,7 @@
   br i1 false, label %if.then, label %if.end
 
 if.then:
-  %ptr = getelementptr [1536 x float]* @A, i64 0, i32 23
+  %ptr = getelementptr [1536 x float], [1536 x float]* @A, i64 0, i32 23
   store float undef, float* %ptr
   br label %if.end
 
diff --git a/polly/test/ScheduleOptimizer/computeout.ll b/polly/test/ScheduleOptimizer/computeout.ll
index 764fcef..10b57a9 100644
--- a/polly/test/ScheduleOptimizer/computeout.ll
+++ b/polly/test/ScheduleOptimizer/computeout.ll
@@ -19,7 +19,7 @@
 
 S1:
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %S1 ]
-  %arrayidx.1 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.1
+  %arrayidx.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
   store i32 2, i32* %arrayidx.1
   %indvar.next.1 = add i64 %indvar.1, 1
   %exitcond.1 = icmp ne i64 %indvar.next.1, 100
@@ -30,7 +30,7 @@
 
 S2:
   %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %S2 ]
-  %arrayidx.2 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.2
+  %arrayidx.2 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.2
   store i32 5, i32* %arrayidx.2
   %indvar.next.2 = add i64 %indvar.2, 1
   %exitcond.2 = icmp ne i64 %indvar.next.2, 10
@@ -41,7 +41,7 @@
 
 S3:
   %indvar.3 = phi i64 [ 0, %exit.2 ], [ %indvar.next.3, %S3 ]
-  %arrayidx.3 = getelementptr [200 x i32]* %A, i64 0, i64 %indvar.3
+  %arrayidx.3 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.3
   store i32 7, i32* %arrayidx.3
   %indvar.next.3 = add i64 %indvar.3, 1
   %exitcond.3 = icmp ne i64 %indvar.next.3, 200
diff --git a/polly/test/ScheduleOptimizer/line-tiling-2.ll b/polly/test/ScheduleOptimizer/line-tiling-2.ll
index 42ad06a..d7584bd 100644
--- a/polly/test/ScheduleOptimizer/line-tiling-2.ll
+++ b/polly/test/ScheduleOptimizer/line-tiling-2.ll
@@ -21,7 +21,7 @@
   %j.0 = phi i32 [ 0, %for.body3.lr.ph ], [ %inc, %for.body3 ]
   %mul = mul nsw i32 %j.0, %i.0
   %rem = srem i32 %mul, 42
-  %arrayidx4 = getelementptr inbounds [512 x i32]* %A, i32 %i.0, i32 %j.0
+  %arrayidx4 = getelementptr inbounds [512 x i32], [512 x i32]* %A, i32 %i.0, i32 %j.0
   store i32 %rem, i32* %arrayidx4, align 4
   %inc = add nsw i32 %j.0, 1
   %cmp2 = icmp slt i32 %inc, 512
diff --git a/polly/test/ScheduleOptimizer/line-tiling.ll b/polly/test/ScheduleOptimizer/line-tiling.ll
index 7dc802c..fcdeae1 100644
--- a/polly/test/ScheduleOptimizer/line-tiling.ll
+++ b/polly/test/ScheduleOptimizer/line-tiling.ll
@@ -21,7 +21,7 @@
   %j.0 = phi i32 [ 0, %for.body3.lr.ph ], [ %inc, %for.body3 ]
   %mul = mul nsw i32 %j.0, %i.0
   %rem = srem i32 %mul, 42
-  %arrayidx4 = getelementptr inbounds [512 x i32]* %A, i32 %i.0, i32 %j.0
+  %arrayidx4 = getelementptr inbounds [512 x i32], [512 x i32]* %A, i32 %i.0, i32 %j.0
   store i32 %rem, i32* %arrayidx4, align 4
   %inc = add nsw i32 %j.0, 1
   %cmp2 = icmp slt i32 %inc, 512
diff --git a/polly/test/ScheduleOptimizer/prevectorization.ll b/polly/test/ScheduleOptimizer/prevectorization.ll
index 455b9bc..ce62a2e 100644
--- a/polly/test/ScheduleOptimizer/prevectorization.ll
+++ b/polly/test/ScheduleOptimizer/prevectorization.ll
@@ -20,14 +20,14 @@
 
 for.body3:                                        ; preds = %for.cond1.preheader, %for.inc25
   %indvar6 = phi i64 [ 0, %for.cond1.preheader ], [ %indvar.next7, %for.inc25 ]
-  %arrayidx24 = getelementptr [1536 x [1536 x float]]* @C, i64 0, i64 %indvar4, i64 %indvar6
+  %arrayidx24 = getelementptr [1536 x [1536 x float]], [1536 x [1536 x float]]* @C, i64 0, i64 %indvar4, i64 %indvar6
   store float 0.000000e+00, float* %arrayidx24, align 4
   br label %for.body8
 
 for.body8:                                        ; preds = %for.body3, %for.body8
   %indvar = phi i64 [ 0, %for.body3 ], [ %indvar.next, %for.body8 ]
-  %arrayidx16 = getelementptr [1536 x [1536 x float]]* @A, i64 0, i64 %indvar4, i64 %indvar
-  %arrayidx20 = getelementptr [1536 x [1536 x float]]* @B, i64 0, i64 %indvar, i64 %indvar6
+  %arrayidx16 = getelementptr [1536 x [1536 x float]], [1536 x [1536 x float]]* @A, i64 0, i64 %indvar4, i64 %indvar
+  %arrayidx20 = getelementptr [1536 x [1536 x float]], [1536 x [1536 x float]]* @B, i64 0, i64 %indvar, i64 %indvar6
   %0 = load float* %arrayidx24, align 4
   %1 = load float* %arrayidx16, align 4
   %2 = load float* %arrayidx20, align 4
diff --git a/polly/test/ScheduleOptimizer/rectangular-tiling.ll b/polly/test/ScheduleOptimizer/rectangular-tiling.ll
index 6413e5c..29298bd 100644
--- a/polly/test/ScheduleOptimizer/rectangular-tiling.ll
+++ b/polly/test/ScheduleOptimizer/rectangular-tiling.ll
@@ -22,7 +22,7 @@
   %j.0 = phi i32 [ 0, %for.body3.lr.ph ], [ %inc, %for.body3 ]
   %mul = mul nsw i32 %j.0, %i.0
   %rem = srem i32 %mul, 42
-  %arrayidx4 = getelementptr inbounds [512 x i32]* %A, i32 %i.0, i32 %j.0
+  %arrayidx4 = getelementptr inbounds [512 x i32], [512 x i32]* %A, i32 %i.0, i32 %j.0
   store i32 %rem, i32* %arrayidx4, align 4
   %inc = add nsw i32 %j.0, 1
   %cmp2 = icmp slt i32 %inc, 512
diff --git a/polly/test/ScopDetect/aliasing_parametric_simple_1.ll b/polly/test/ScopDetect/aliasing_parametric_simple_1.ll
index 55a2c06..251f51dd 100644
--- a/polly/test/ScopDetect/aliasing_parametric_simple_1.ll
+++ b/polly/test/ScopDetect/aliasing_parametric_simple_1.ll
@@ -20,9 +20,9 @@
 
 for.body:                                         ; preds = %for.cond
   %idxprom = sext i32 %c to i64
-  %arrayidx = getelementptr inbounds i32* %B, i64 %idxprom
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %idxprom
   %tmp = load i32* %arrayidx, align 4
-  %arrayidx2 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %tmp, i32* %arrayidx2, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopDetect/aliasing_parametric_simple_2.ll b/polly/test/ScopDetect/aliasing_parametric_simple_2.ll
index f63558f..1c76b45 100644
--- a/polly/test/ScopDetect/aliasing_parametric_simple_2.ll
+++ b/polly/test/ScopDetect/aliasing_parametric_simple_2.ll
@@ -21,12 +21,12 @@
 for.body:                                         ; preds = %for.cond
   %sub = add nsw i32 %c, -10
   %idxprom = sext i32 %sub to i64
-  %arrayidx = getelementptr inbounds i32* %B, i64 %idxprom
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %idxprom
   %tmp = load i32* %arrayidx, align 4
-  %arrayidx1 = getelementptr inbounds i32* %B, i64 5
+  %arrayidx1 = getelementptr inbounds i32, i32* %B, i64 5
   %tmp1 = load i32* %arrayidx1, align 4
   %add = add nsw i32 %tmp, %tmp1
-  %arrayidx3 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx3 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %add, i32* %arrayidx3, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopDetect/aliasing_simple_1.ll b/polly/test/ScopDetect/aliasing_simple_1.ll
index 7f95f7c..9b5b3cf 100644
--- a/polly/test/ScopDetect/aliasing_simple_1.ll
+++ b/polly/test/ScopDetect/aliasing_simple_1.ll
@@ -20,7 +20,7 @@
 
 for.body:                                         ; preds = %for.cond
   %tmp = load i32* %B, align 4
-  %arrayidx2 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %tmp, i32* %arrayidx2, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopDetect/aliasing_simple_2.ll b/polly/test/ScopDetect/aliasing_simple_2.ll
index c189cdc..55ca133 100644
--- a/polly/test/ScopDetect/aliasing_simple_2.ll
+++ b/polly/test/ScopDetect/aliasing_simple_2.ll
@@ -20,10 +20,10 @@
 
 for.body:                                         ; preds = %for.cond
   %tmp = load i32* %B, align 4
-  %arrayidx1 = getelementptr inbounds i32* %B, i64 1023
+  %arrayidx1 = getelementptr inbounds i32, i32* %B, i64 1023
   %tmp1 = load i32* %arrayidx1, align 4
   %add = add nsw i32 %tmp, %tmp1
-  %arrayidx2 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %add, i32* %arrayidx2, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopDetect/base_pointer.ll b/polly/test/ScopDetect/base_pointer.ll
index 92eb29d..bac207a 100644
--- a/polly/test/ScopDetect/base_pointer.ll
+++ b/polly/test/ScopDetect/base_pointer.ll
@@ -16,7 +16,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %pre ], [ %indvar.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
@@ -43,7 +43,7 @@
 
 S1:
   %conv = sitofp i64 %indvar.i to float
-  %arrayidx5 = getelementptr float* %A, i64 %indvar.i
+  %arrayidx5 = getelementptr float, float* %A, i64 %indvar.i
   store float %conv, float* %arrayidx5, align 4
   br label %for.i.inc
 
@@ -69,7 +69,7 @@
 
 S1:
   %conv = sitofp i64 %indvar.i to float
-  %arrayidx5 = getelementptr float* inttoptr (i64 100 to float*), i64 %indvar.i
+  %arrayidx5 = getelementptr float, float* inttoptr (i64 100 to float*), i64 %indvar.i
   store float %conv, float* %arrayidx5, align 4
   br label %for.i.inc
 
@@ -97,7 +97,7 @@
 
 S1:
   %conv = sitofp i64 %indvar.i to float
-  %arrayidx5 = getelementptr float* @A, i64 %indvar.i
+  %arrayidx5 = getelementptr float, float* @A, i64 %indvar.i
   store float %conv, float* %arrayidx5, align 4
   br label %for.i.inc
 
@@ -126,7 +126,7 @@
 
 S1:
   %conv = sitofp i64 %indvar.i to float
-  %arrayidx5 = getelementptr float* %A, i64 %indvar.i
+  %arrayidx5 = getelementptr float, float* %A, i64 %indvar.i
   store float %conv, float* %arrayidx5, align 4
   br label %for.i.inc
 
@@ -159,7 +159,7 @@
 
 S1:
   %conv = sitofp i64 %indvar.i to float
-  %arrayidx5 = getelementptr float* %ptr, i64 %indvar.i
+  %arrayidx5 = getelementptr float, float* %ptr, i64 %indvar.i
   store float %conv, float* %arrayidx5, align 4
   br label %for.i.inc
 
@@ -189,7 +189,7 @@
 
 S1:
   %conv = sitofp i64 %indvar.i to float
-  %arrayidx5 = getelementptr float* %ptr, i64 %indvar.i
+  %arrayidx5 = getelementptr float, float* %ptr, i64 %indvar.i
   store float %conv, float* %arrayidx5, align 4
   br label %for.i.inc
 
@@ -219,7 +219,7 @@
 
 S1:
   %conv = sitofp i64 %indvar.i to float
-  %arrayidx5 = getelementptr float* %ptr2, i64 %indvar.i
+  %arrayidx5 = getelementptr float, float* %ptr2, i64 %indvar.i
   store float %conv, float* %arrayidx5, align 4
   br label %for.i.inc
 
@@ -249,7 +249,7 @@
 
 S1:
   %conv = sitofp i64 %indvar.i to float
-  %arrayidx5 = getelementptr float* %ptr2, i64 %indvar.i
+  %arrayidx5 = getelementptr float, float* %ptr2, i64 %indvar.i
   store float %conv, float* %arrayidx5, align 4
   br label %for.i.inc
 
@@ -271,14 +271,14 @@
 
 for.i:
   %indvar.i = phi i64 [ %indvar.i.next, %for.i.inc ], [ 0, %entry ]
-  %arrayidx = getelementptr float** %A, i64 %indvar.i
+  %arrayidx = getelementptr float*, float** %A, i64 %indvar.i
   br label %for.j
 
 for.j:
   %indvar.j = phi i64 [ 0, %for.i ], [ %indvar.j.next, %for.j ]
   %conv = sitofp i64 %indvar.i to float
   %basepointer = load float** %arrayidx, align 8
-  %arrayidx5 = getelementptr float* %basepointer, i64 %indvar.j
+  %arrayidx5 = getelementptr float, float* %basepointer, i64 %indvar.j
   store float %conv, float* %arrayidx5, align 4
   %indvar.j.next = add i64 %indvar.j, 1
   %exitcond.j = icmp ne i64 %indvar.j.next, %n
diff --git a/polly/test/ScopDetect/cross_loop_non_single_exit.ll b/polly/test/ScopDetect/cross_loop_non_single_exit.ll
index 42575eb..ea6fb86 100644
--- a/polly/test/ScopDetect/cross_loop_non_single_exit.ll
+++ b/polly/test/ScopDetect/cross_loop_non_single_exit.ll
@@ -24,7 +24,7 @@
 
 for.j:
   %indvar2 = phi i64 [ 0, %next2], [ %indvar2.next2, %for.j]
-  %scevgep2 = getelementptr i64* %A, i64 %indvar2
+  %scevgep2 = getelementptr i64, i64* %A, i64 %indvar2
   store i64 %indvar2, i64* %scevgep2
   %indvar2.next2 = add nsw i64 %indvar2, 1
   %exitcond2 = icmp eq i64 %indvar2.next2, %N
@@ -35,7 +35,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %next], [ %indvar.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
diff --git a/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll b/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
index 5d257cd..bbdd6fff 100644
--- a/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
+++ b/polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
@@ -26,7 +26,7 @@
 
 for.j:
   %indvar2 = phi i64 [ 0, %next2], [ %indvar2.next2, %for.j]
-  %scevgep2 = getelementptr i64* %A, i64 %indvar2
+  %scevgep2 = getelementptr i64, i64* %A, i64 %indvar2
   store i64 %indvar2, i64* %scevgep2
   %indvar2.next2 = add nsw i64 %indvar2, 1
   %exitcond2 = icmp eq i64 %indvar2.next2, %N
@@ -37,7 +37,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %next], [ %indvar.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %i = call i64 @foo()
   %indvar.next = add nsw i64 %indvar, 1
diff --git a/polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll b/polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll
index 3855447..47ea615 100644
--- a/polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll
+++ b/polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll
@@ -9,7 +9,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
@@ -21,7 +21,7 @@
 
 for.j:
   %indvar.j = phi i64 [ %indvar, %next ], [ %indvar.j.next, %for.j ]
-  %scevgep.j = getelementptr i64* %A, i64 %indvar.j
+  %scevgep.j = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %indvar.j, i64* %scevgep.j
   fence seq_cst
   %indvar.j.next = add nsw i64 %indvar.j, 1
diff --git a/polly/test/ScopDetect/indvars.ll b/polly/test/ScopDetect/indvars.ll
index c4aadbc..34a8a6a 100644
--- a/polly/test/ScopDetect/indvars.ll
+++ b/polly/test/ScopDetect/indvars.ll
@@ -13,7 +13,7 @@
 for.i:
   %indvar.i = phi i64 [ 0, %entry ], [ %indvar.next.i, %for.i.backedge ]
   %indvar.next.i = add i64 %indvar.i, 1
-  %scevgep = getelementptr i64* %A, i64 %indvar.i
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar.i
   store i64 %indvar.i, i64* %scevgep, align 4
   br i1 true, label %for.j.preheader, label %for.j2
 
diff --git a/polly/test/ScopDetect/intrinsics_1.ll b/polly/test/ScopDetect/intrinsics_1.ll
index d0dfe43..77f8344 100644
--- a/polly/test/ScopDetect/intrinsics_1.ll
+++ b/polly/test/ScopDetect/intrinsics_1.ll
@@ -36,7 +36,7 @@
   %call4 = call double @floor(double %call3) #2
   %tmp3 = call double @llvm.pow.f64(double %call1, double %call4)
   %conv5 = fptosi double %tmp3 to i32
-  %arrayidx = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %conv5, i32* %arrayidx, align 4
   %tmp4 = trunc i64 %indvars.iv to i32
   %conv6 = sitofp i32 %tmp4 to double
@@ -53,7 +53,7 @@
   %call14 = call double @__exp_finite(double %conv13) #2
   %add15 = fadd fast double %call12, %call14
   %conv16 = fptrunc double %add15 to float
-  %arrayidx18 = getelementptr inbounds float* %B, i64 %indvars.iv
+  %arrayidx18 = getelementptr inbounds float, float* %B, i64 %indvars.iv
   store float %conv16, float* %arrayidx18, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopDetect/intrinsics_2.ll b/polly/test/ScopDetect/intrinsics_2.ll
index 087b635..7a62f2d 100644
--- a/polly/test/ScopDetect/intrinsics_2.ll
+++ b/polly/test/ScopDetect/intrinsics_2.ll
@@ -42,9 +42,9 @@
   br i1 %exitcond, label %for.body4, label %for.end
 
 for.body4:                                        ; preds = %for.cond2
-  %arrayidx = getelementptr inbounds [1024 x i32]* @A, i64 0, i64 %indvars.iv1
+  %arrayidx = getelementptr inbounds [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvars.iv1
   %tmp6 = load i32* %arrayidx, align 4
-  %arrayidx6 = getelementptr inbounds [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
+  %arrayidx6 = getelementptr inbounds [1024 x i32], [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
   %tmp7 = load i32* %arrayidx6, align 4
   %add = add nsw i32 %tmp7, %tmp6
   store i32 %add, i32* %arrayidx6, align 4
@@ -55,9 +55,9 @@
   br label %for.cond2
 
 for.end:                                          ; preds = %for.cond2
-  %arrayidx8 = getelementptr inbounds [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
+  %arrayidx8 = getelementptr inbounds [1024 x i32], [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
   %tmp8 = load i32* %arrayidx8, align 4
-  %arrayidx10 = getelementptr inbounds [1024 x i32]* @A, i64 0, i64 %indvars.iv3
+  %arrayidx10 = getelementptr inbounds [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvars.iv3
   store i32 %tmp8, i32* %arrayidx10, align 4
   br label %for.inc11
 
diff --git a/polly/test/ScopDetect/intrinsics_3.ll b/polly/test/ScopDetect/intrinsics_3.ll
index ec9d4b7..94c3aed 100644
--- a/polly/test/ScopDetect/intrinsics_3.ll
+++ b/polly/test/ScopDetect/intrinsics_3.ll
@@ -45,9 +45,9 @@
 for.body4:                                        ; preds = %for.cond2
   call void @llvm.assume(i1 %exitcond)
   call i1 @llvm.expect.i1(i1 %exitcond, i1 1)
-  %arrayidx = getelementptr inbounds [1024 x i32]* @A, i64 0, i64 %indvars.iv1
+  %arrayidx = getelementptr inbounds [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvars.iv1
   %tmp6 = load i32* %arrayidx, align 4
-  %arrayidx6 = getelementptr inbounds [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
+  %arrayidx6 = getelementptr inbounds [1024 x i32], [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
   call void @llvm.donothing()
   %tmp7 = load i32* %arrayidx6, align 4
   %add = add nsw i32 %tmp7, %tmp6
@@ -59,9 +59,9 @@
   br label %for.cond2
 
 for.end:                                          ; preds = %for.cond2
-  %arrayidx8 = getelementptr inbounds [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
+  %arrayidx8 = getelementptr inbounds [1024 x i32], [1024 x i32]* %tmp, i64 0, i64 %indvars.iv3
   %tmp8 = load i32* %arrayidx8, align 4
-  %arrayidx10 = getelementptr inbounds [1024 x i32]* @A, i64 0, i64 %indvars.iv3
+  %arrayidx10 = getelementptr inbounds [1024 x i32], [1024 x i32]* @A, i64 0, i64 %indvars.iv3
   call void @llvm.invariant.end({}* %lis, i64 4096, i8* %tmp3) #1
   store i32 %tmp8, i32* %arrayidx10, align 4
   br label %for.inc11
diff --git a/polly/test/ScopDetect/invalidate_scalar_evolution.ll b/polly/test/ScopDetect/invalidate_scalar_evolution.ll
index b96f0e3..26efc7f 100644
--- a/polly/test/ScopDetect/invalidate_scalar_evolution.ll
+++ b/polly/test/ScopDetect/invalidate_scalar_evolution.ll
@@ -24,7 +24,7 @@
   %indvar.p2 = phi i64 [ 0, %pre ], [ %indvar.p2.next, %for.i ]
   %sum = add i64 %indvar, %indvar.p1
   %sum2 = sub i64 %sum, %indvar.p2
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %indvar.p1.next = add nsw i64 %indvar.p1, %p_tmp
diff --git a/polly/test/ScopDetect/keep_going_expansion.ll b/polly/test/ScopDetect/keep_going_expansion.ll
index 9c76568..483cd82 100644
--- a/polly/test/ScopDetect/keep_going_expansion.ll
+++ b/polly/test/ScopDetect/keep_going_expansion.ll
@@ -16,7 +16,7 @@
 for.body:                                         ; preds = %entry.split, %for.body
   %indvar = phi i64 [ 0, %entry.split ], [ %indvar.next, %for.body ]
   %j.02 = trunc i64 %indvar to i32
-  %arrayidx = getelementptr i32* %B, i64 %indvar
+  %arrayidx = getelementptr i32, i32* %B, i64 %indvar
   store i32 %j.02, i32* %arrayidx, align 4
   %indvar.next = add i64 %indvar, 1
   %exitcond3 = icmp ne i64 %indvar.next, 32
@@ -26,7 +26,7 @@
   %0 = phi i32 [ 0, %for.cond2.preheader ], [ %1, %for.body4 ]
   %mul = mul i32 %n, %0
   %idxprom5 = sext i32 %mul to i64
-  %arrayidx6 = getelementptr inbounds i32* %A, i64 %idxprom5
+  %arrayidx6 = getelementptr inbounds i32, i32* %A, i64 %idxprom5
   store i32 %0, i32* %arrayidx6, align 4
   %1 = add nsw i32 %0, 1
   %exitcond = icmp ne i32 %1, 32
@@ -34,10 +34,10 @@
 
 for.end9:                                         ; preds = %for.body4
   %idxprom10 = sext i32 %n to i64
-  %arrayidx11 = getelementptr inbounds i32* %A, i64 %idxprom10
+  %arrayidx11 = getelementptr inbounds i32, i32* %A, i64 %idxprom10
   %2 = load i32* %arrayidx11, align 4
   %idxprom12 = sext i32 %n to i64
-  %arrayidx13 = getelementptr inbounds i32* %B, i64 %idxprom12
+  %arrayidx13 = getelementptr inbounds i32, i32* %B, i64 %idxprom12
   %3 = load i32* %arrayidx13, align 4
   %add = add nsw i32 %3, %2
   ret i32 %add
diff --git a/polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll b/polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll
index dcdf44a8..74a1e65 100644
--- a/polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll
+++ b/polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll
@@ -25,11 +25,11 @@
   %j = phi i64 [ 0, %for.i ], [ %j.inc, %for.j ]
   %tmp = mul nsw i64 %i, %m
   %vlaarrayidx.sum = add i64 %j, %tmp
-  %arrayidx = getelementptr inbounds double* %A, i64 %vlaarrayidx.sum
+  %arrayidx = getelementptr inbounds double, double* %A, i64 %vlaarrayidx.sum
   store double 1.0, double* %arrayidx
   %tmp1 = mul nsw i64 %j, %n
   %vlaarrayidx.sum1 = add i64 %i, %tmp1
-  %arrayidx1 = getelementptr inbounds double* %A, i64 %vlaarrayidx.sum1
+  %arrayidx1 = getelementptr inbounds double, double* %A, i64 %vlaarrayidx.sum1
   store double 1.0, double* %arrayidx1
   %j.inc = add nsw i64 %j, 1
   %j.exitcond = icmp eq i64 %j.inc, %m
diff --git a/polly/test/ScopDetect/nested_loop_single_exit.ll b/polly/test/ScopDetect/nested_loop_single_exit.ll
index f05dcce..4ac36a1 100644
--- a/polly/test/ScopDetect/nested_loop_single_exit.ll
+++ b/polly/test/ScopDetect/nested_loop_single_exit.ll
@@ -26,7 +26,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %for.j], [ %indvar.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
diff --git a/polly/test/ScopDetect/non-affine-conditional.ll b/polly/test/ScopDetect/non-affine-conditional.ll
index 3ee84e9..d3c27208 100644
--- a/polly/test/ScopDetect/non-affine-conditional.ll
+++ b/polly/test/ScopDetect/non-affine-conditional.ll
@@ -20,13 +20,13 @@
   br i1 %exitcond, label %bb2, label %bb9
 
 bb2:                                              ; preds = %bb1
-  %tmp = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %tmp = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   %tmp3 = load i32* %tmp, align 4
   %tmp4 = icmp eq i32 %tmp3, 0
   br i1 %tmp4, label %bb7, label %bb5
 
 bb5:                                              ; preds = %bb2
-  %tmp6 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %tmp6 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 0, i32* %tmp6, align 4
   br label %bb7
 
diff --git a/polly/test/ScopDetect/non-affine-float-compare.ll b/polly/test/ScopDetect/non-affine-float-compare.ll
index 94ade58..f012c7a 100644
--- a/polly/test/ScopDetect/non-affine-float-compare.ll
+++ b/polly/test/ScopDetect/non-affine-float-compare.ll
@@ -19,16 +19,16 @@
   br i1 %exitcond, label %bb2, label %bb14
 
 bb2:                                              ; preds = %bb1
-  %tmp = getelementptr inbounds float* %A, i64 %indvars.iv
+  %tmp = getelementptr inbounds float, float* %A, i64 %indvars.iv
   %tmp3 = load float* %tmp, align 4
   %tmp4 = add nsw i64 %indvars.iv, -1
-  %tmp5 = getelementptr inbounds float* %A, i64 %tmp4
+  %tmp5 = getelementptr inbounds float, float* %A, i64 %tmp4
   %tmp6 = load float* %tmp5, align 4
   %tmp7 = fcmp oeq float %tmp3, %tmp6
   br i1 %tmp7, label %bb8, label %bb12
 
 bb8:                                              ; preds = %bb2
-  %tmp9 = getelementptr inbounds float* %A, i64 %indvars.iv
+  %tmp9 = getelementptr inbounds float, float* %A, i64 %indvars.iv
   %tmp10 = load float* %tmp9, align 4
   %tmp11 = fadd float %tmp10, 1.000000e+00
   store float %tmp11, float* %tmp9, align 4
diff --git a/polly/test/ScopDetect/parametric-multiply-in-scev.ll b/polly/test/ScopDetect/parametric-multiply-in-scev.ll
index 56090d0..230b20c 100644
--- a/polly/test/ScopDetect/parametric-multiply-in-scev.ll
+++ b/polly/test/ScopDetect/parametric-multiply-in-scev.ll
@@ -18,7 +18,7 @@
 
 if.then:
   %mul = mul nsw i64 %n, %k
-  %arrayidx = getelementptr float* %A, i64 %mul
+  %arrayidx = getelementptr float, float* %A, i64 %mul
   store float 0.000000e+00, float* %arrayidx
   br label %return
 
diff --git a/polly/test/ScopDetect/remove_all_children.ll b/polly/test/ScopDetect/remove_all_children.ll
index 7872d08..42f0fa8 100644
--- a/polly/test/ScopDetect/remove_all_children.ll
+++ b/polly/test/ScopDetect/remove_all_children.ll
@@ -23,7 +23,7 @@
 
 while.body36:                                     ; preds = %while.body36, %while.body36.lr.ph
   %indvar77 = phi i64 [ 0, %if.end33 ], [ %indvar.next78, %while.body36 ]
-  %arrayidx40 = getelementptr i32* %eclass, i64 0
+  %arrayidx40 = getelementptr i32, i32* %eclass, i64 0
   %indvar.next78 = add i64 %indvar77, 1
   br i1 false, label %while.body36, label %while.end44
 
@@ -32,7 +32,7 @@
 
 while.body50:                                     ; preds = %while.body50, %while.body50.lr.ph
   %indvar79 = phi i64 [ 0, %while.end44 ], [ %indvar.next80, %while.body50 ]
-  %arrayidx55 = getelementptr i32* %eclass, i64 0
+  %arrayidx55 = getelementptr i32, i32* %eclass, i64 0
   store i32 0, i32* %arrayidx55, align 4
   %indvar.next80 = add i64 %indvar79, 1
   br i1 false, label %while.body50, label %while.cond.loopexit
diff --git a/polly/test/ScopDetect/report-scop-location.ll b/polly/test/ScopDetect/report-scop-location.ll
index 58b3c32..dbd5f5f 100644
--- a/polly/test/ScopDetect/report-scop-location.ll
+++ b/polly/test/ScopDetect/report-scop-location.ll
@@ -13,7 +13,7 @@
 for.body:                                         ; preds = %entry.split, %for.body
   %indvar = phi i64 [ 0, %entry.split ], [ %indvar.next, %for.body ]
   %i.01 = trunc i64 %indvar to i32, !dbg !13
-  %arrayidx = getelementptr float* %A, i64 %indvar, !dbg !13
+  %arrayidx = getelementptr float, float* %A, i64 %indvar, !dbg !13
   %conv = sitofp i32 %i.01 to float, !dbg !13
   store float %conv, float* %arrayidx, align 4, !dbg !13
   %indvar.next = add i64 %indvar, 1, !dbg !11
@@ -39,7 +39,7 @@
 for.body:                                         ; preds = %entry.split, %for.body
   %indvar = phi i64 [ 0, %entry.split ], [ %indvar.next, %for.body ]
   %i.01 = trunc i64 %indvar to i32, !dbg !17
-  %arrayidx = getelementptr float* %A, i64 %indvar, !dbg !17
+  %arrayidx = getelementptr float, float* %A, i64 %indvar, !dbg !17
   %conv = sitofp i32 %i.01 to float, !dbg !17
   store float %conv, float* %arrayidx, align 4, !dbg !17
   %indvar.next = add i64 %indvar, 1, !dbg !15
diff --git a/polly/test/ScopDetect/run_time_alias_check.ll b/polly/test/ScopDetect/run_time_alias_check.ll
index 1d04a28..0969c6e 100644
--- a/polly/test/ScopDetect/run_time_alias_check.ll
+++ b/polly/test/ScopDetect/run_time_alias_check.ll
@@ -19,7 +19,7 @@
 ; return value remains invariant throughout the whole loop.
   %ptr = call float* @getNextBasePtr(float* %A)
   %conv = sitofp i64 %indvar.i to float
-  %arrayidx5 = getelementptr float* %ptr, i64 %indvar.i
+  %arrayidx5 = getelementptr float, float* %ptr, i64 %indvar.i
   store float %conv, float* %arrayidx5, align 4
   store float 1.0, float* %B
   br label %for.i.inc
diff --git a/polly/test/ScopDetect/sequential_loops.ll b/polly/test/ScopDetect/sequential_loops.ll
index 06bb4eb..dc07ef5 100644
--- a/polly/test/ScopDetect/sequential_loops.ll
+++ b/polly/test/ScopDetect/sequential_loops.ll
@@ -22,7 +22,7 @@
 
 for.i.1:
   %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.i.1 ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
@@ -30,7 +30,7 @@
 
 for.i.2:
   %indvar.2 = phi i64 [ 0, %for.i.1 ], [ %indvar.next.2, %for.i.2 ]
-  %scevgep.2 = getelementptr i64* %A, i64 %indvar.2
+  %scevgep.2 = getelementptr i64, i64* %A, i64 %indvar.2
   store i64 %indvar.2, i64* %scevgep.2
   %indvar.next.2 = add nsw i64 %indvar.2, 1
   %exitcond.2 = icmp eq i64 %indvar.next.2, %N
@@ -69,7 +69,7 @@
 
 for.i.1:
   %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.i.1 ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
@@ -80,7 +80,7 @@
 
 for.i.2:
   %indvar.2 = phi i64 [ 0, %preheader ], [ %indvar.next.2, %for.i.2 ]
-  %scevgep.2 = getelementptr i64* %A, i64 %indvar.2
+  %scevgep.2 = getelementptr i64, i64* %A, i64 %indvar.2
   store i64 %indvar.2, i64* %scevgep.2
   %indvar.next.2 = add nsw i64 %indvar.2, 1
   %exitcond.2 = icmp eq i64 %indvar.next.2, %N
diff --git a/polly/test/ScopDetect/simple_loop.ll b/polly/test/ScopDetect/simple_loop.ll
index d5e155a..7b58279 100644
--- a/polly/test/ScopDetect/simple_loop.ll
+++ b/polly/test/ScopDetect/simple_loop.ll
@@ -17,7 +17,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
diff --git a/polly/test/ScopDetect/simple_loop_non_single_entry.ll b/polly/test/ScopDetect/simple_loop_non_single_entry.ll
index 80445bb..81cfba6 100644
--- a/polly/test/ScopDetect/simple_loop_non_single_entry.ll
+++ b/polly/test/ScopDetect/simple_loop_non_single_entry.ll
@@ -32,7 +32,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %then ], [ 0, %else], [ %indvar.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
diff --git a/polly/test/ScopDetect/simple_loop_non_single_exit.ll b/polly/test/ScopDetect/simple_loop_non_single_exit.ll
index cecf335..2aaf07f 100644
--- a/polly/test/ScopDetect/simple_loop_non_single_exit.ll
+++ b/polly/test/ScopDetect/simple_loop_non_single_exit.ll
@@ -21,7 +21,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %next], [ %indvar.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
diff --git a/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll b/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
index 8d9da58..4cee660 100644
--- a/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
+++ b/polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
@@ -22,7 +22,7 @@
 
 for.i:
   %indvar = phi i64 [ 0, %next], [ %indvar.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
diff --git a/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll b/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
index 4a4e720..c70dc04 100644
--- a/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
+++ b/polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
@@ -20,7 +20,7 @@
 for.i:
   %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.i ]
   %indvar_non_canonical = phi i64 [ 1, %entry ], [ %indvar_non_canonical.next, %for.i ]
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar_non_canonical, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %indvar_non_canonical.next = add nsw i64 %indvar_non_canonical, 1
diff --git a/polly/test/ScopDetect/simple_loop_with_param.ll b/polly/test/ScopDetect/simple_loop_with_param.ll
index ae9e1f7..42c6cb1 100644
--- a/polly/test/ScopDetect/simple_loop_with_param.ll
+++ b/polly/test/ScopDetect/simple_loop_with_param.ll
@@ -33,7 +33,7 @@
 for.j:
   %indvar.j = phi i64 [ 0, %entry.next ], [ %indvar.j.next, %for.j ]
   %indvar.j.non_canonical = phi i64 [ %init, %entry.next ], [ %indvar.j.non_canonical.next, %for.j ]
-  %scevgep = getelementptr i64* %A, i64 %indvar.j
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %indvar.j.non_canonical, i64* %scevgep
   %indvar.j.next = add nsw i64 %indvar.j, 1
   %indvar.j.non_canonical.next = add nsw i64 %indvar.j.non_canonical, 1
diff --git a/polly/test/ScopDetect/simple_loop_with_param_2.ll b/polly/test/ScopDetect/simple_loop_with_param_2.ll
index 562c1c8..829bee5 100644
--- a/polly/test/ScopDetect/simple_loop_with_param_2.ll
+++ b/polly/test/ScopDetect/simple_loop_with_param_2.ll
@@ -31,7 +31,7 @@
 for.j:
   %indvar.j = phi i64 [ 0, %entry.next ], [ %indvar.j.next, %for.j ]
   %init_plus_two = add i64 %init, 2
-  %scevgep = getelementptr i64* %A, i64 %indvar.j
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %init_plus_two, i64* %scevgep
   %indvar.j.next = add nsw i64 %indvar.j, 1
   %exitcond.j = icmp eq i64 %indvar.j.next, %N
diff --git a/polly/test/ScopDetect/simple_non_single_entry.ll b/polly/test/ScopDetect/simple_non_single_entry.ll
index 0b445bd..c4f2bd8 100644
--- a/polly/test/ScopDetect/simple_non_single_entry.ll
+++ b/polly/test/ScopDetect/simple_non_single_entry.ll
@@ -55,7 +55,7 @@
 for.i:
   %indvar = phi i64 [ 0, %for.i.head1], [ %indvar.next, %for.i ]
   fence seq_cst
-  %scevgep = getelementptr i64* %A, i64 %indvar
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar
   store i64 %indvar, i64* %scevgep
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %N
diff --git a/polly/test/ScopDetect/skip_function_attribute.ll b/polly/test/ScopDetect/skip_function_attribute.ll
index 9d7a45e..628a08c 100644
--- a/polly/test/ScopDetect/skip_function_attribute.ll
+++ b/polly/test/ScopDetect/skip_function_attribute.ll
@@ -24,11 +24,11 @@
 
 for.body:                                         ; preds = %for.body.preheader, %for.body
   %i.02 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.02
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.02
   %tmp = load i32* %arrayidx, align 4
   %mul = mul nsw i32 %tmp, %tmp
   %add = add nsw i32 %mul, %tmp
-  %arrayidx3 = getelementptr inbounds i32* %A, i32 %i.02
+  %arrayidx3 = getelementptr inbounds i32, i32* %A, i32 %i.02
   store i32 %add, i32* %arrayidx3, align 4
   %inc = add nsw i32 %i.02, 1
   %cmp = icmp slt i32 %inc, %N
diff --git a/polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll b/polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll
index b316e05..364d397 100644
--- a/polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll
+++ b/polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll
@@ -24,8 +24,8 @@
 
 for.body:                                         ; preds = %entry.split, %for.body
   %indvar = phi i64 [ 0, %entry.split ], [ %indvar.next, %for.body ]
-  %arrayidx = getelementptr i32* %B, i64 %indvar, !dbg !22
-  %arrayidx2 = getelementptr i32* %A, i64 %indvar, !dbg !22
+  %arrayidx = getelementptr i32, i32* %B, i64 %indvar, !dbg !22
+  %arrayidx2 = getelementptr i32, i32* %A, i64 %indvar, !dbg !22
   %0 = load i32* %arrayidx, align 4, !dbg !22
   store i32 %0, i32* %arrayidx2, align 4, !dbg !22
   tail call void @llvm.dbg.value(metadata !{null}, i64 0, metadata !18), !dbg !20
diff --git a/polly/test/ScopDetectionDiagnostics/ReportDifferentElementSize.ll b/polly/test/ScopDetectionDiagnostics/ReportDifferentElementSize.ll
index 25b8a0b..d752558 100644
--- a/polly/test/ScopDetectionDiagnostics/ReportDifferentElementSize.ll
+++ b/polly/test/ScopDetectionDiagnostics/ReportDifferentElementSize.ll
@@ -19,10 +19,10 @@
 for.body:                                         ; preds = %for.body, %entry
   %i.05 = phi i64 [ 0, %entry ], [ %tmp11, %for.body ]
   %tmp = shl i64 %i.05, 3, !dbg !15
-  %uglygep = getelementptr i8* %A, i64 %tmp
+  %uglygep = getelementptr i8, i8* %A, i64 %tmp
   %arrayidx = bitcast i8* %uglygep to double*, !dbg !16
   %tmp9 = shl i64 %i.05, 2, !dbg !15
-  %uglygep7 = getelementptr i8* %A, i64 %tmp9
+  %uglygep7 = getelementptr i8, i8* %A, i64 %tmp9
   %arrayidx1 = bitcast i8* %uglygep7 to float*, !dbg !17
   %tmp10 = load double* %arrayidx, align 8, !dbg !16, !tbaa !18
   %conv = fptrunc double %tmp10 to float, !dbg !16
diff --git a/polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll b/polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll
index e864eae..524bc70 100644
--- a/polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll
+++ b/polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll
@@ -23,7 +23,7 @@
 
 for.body:                                         ; preds = %for.body, %for.body.lr.ph
   %indvar = phi i64 [ 0, %for.body.lr.ph ], [ %indvar.next, %for.body ]
-  %arrayidx = getelementptr double* %A, i64 %indvar, !dbg !12
+  %arrayidx = getelementptr double, double* %A, i64 %indvar, !dbg !12
   %call = tail call double @invalidCall(double* %A) #2, !dbg !12
   store double %call, double* %arrayidx, align 8, !dbg !12, !tbaa !14
   %indvar.next = add i64 %indvar, 1, !dbg !10
diff --git a/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll b/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
index f028347..81ee240 100644
--- a/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
+++ b/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
@@ -21,7 +21,7 @@
   tail call void @llvm.dbg.value(metadata i32 %n, i64 0, metadata !15), !dbg !16
   tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !18), !dbg !20
   %idxprom = sext i32 %n to i64, !dbg !21
-  %arrayidx = getelementptr inbounds i32* %A, i64 %idxprom, !dbg !21
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %idxprom, !dbg !21
   %0 = load i32* %arrayidx, align 4, !dbg !21
   %cmp3 = icmp sgt i32 %0, 0, !dbg !21
   br i1 %cmp3, label %for.body.lr.ph, label %for.end, !dbg !21
@@ -31,7 +31,7 @@
 
 for.body:                                         ; preds = %for.body.lr.ph, %for.body
   %indvar = phi i64 [ 0, %for.body.lr.ph ], [ %indvar.next, %for.body ]
-  %arrayidx2 = getelementptr i32* %A, i64 %indvar, !dbg !24
+  %arrayidx2 = getelementptr i32, i32* %A, i64 %indvar, !dbg !24
   %1 = add i64 %indvar, 1, !dbg !24
   %inc = trunc i64 %1 to i32, !dbg !21
   store i32 0, i32* %arrayidx2, align 4, !dbg !24
diff --git a/polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll b/polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
index 03becc6..f899bb2 100644
--- a/polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
+++ b/polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
@@ -69,27 +69,27 @@
   %tmp3 = phi i64 [ 0, %entry.split ], [ %tmp14, %for.body ], !dbg !15
   %mul = mul i64 %tmp3, 2, !dbg !17
   %tmp4 = mul i64 %tmp, %tmp3, !dbg !18
-  %arrayidx8 = getelementptr float* %B, i64 %tmp4, !dbg !19
+  %arrayidx8 = getelementptr float, float* %B, i64 %tmp4, !dbg !19
   %mul9 = mul i64 %n, %tmp3, !dbg !15
-  %arrayidx12 = getelementptr float* %B, i64 %mul9, !dbg !20
-  %arrayidx15 = getelementptr float* %B, i64 %tmp3, !dbg !21
+  %arrayidx12 = getelementptr float, float* %B, i64 %mul9, !dbg !20
+  %arrayidx15 = getelementptr float, float* %B, i64 %tmp3, !dbg !21
   %mul1 = mul nsw i64 %mul, %tmp3, !dbg !17
-  %arrayidx = getelementptr inbounds float* %A, i64 %mul1, !dbg !22
+  %arrayidx = getelementptr inbounds float, float* %A, i64 %mul1, !dbg !22
   %tmp5 = load float* %arrayidx, align 4, !dbg !22
   %mul3 = mul nsw i64 %mul, %tmp3, !dbg !27
   %add1 = or i64 %mul3, 1, !dbg !27
-  %arrayidx4 = getelementptr inbounds float* %A, i64 %add1, !dbg !28
+  %arrayidx4 = getelementptr inbounds float, float* %A, i64 %add1, !dbg !28
   %tmp6 = load float* %arrayidx4, align 4, !dbg !28
   %tmp7 = load float* %B, align 4, !dbg !29
   %tmp8 = load float* %arrayidx8, align 4, !dbg !19
   %tmp9 = mul i64 %mul9, %tmp3, !dbg !15
   %arrayidx10.sum = add i64 %tmp9, %tmp3, !dbg !15
-  %arrayidx11 = getelementptr inbounds float* %B, i64 %arrayidx10.sum, !dbg !15
+  %arrayidx11 = getelementptr inbounds float, float* %B, i64 %arrayidx10.sum, !dbg !15
   %tmp10 = load float* %arrayidx11, align 4, !dbg !15
   %tmp11 = load float* %arrayidx12, align 4, !dbg !20
   %tmp12 = load float* %arrayidx15, align 4, !dbg !21
   %mul16 = mul nsw i64 %tmp3, %tmp3, !dbg !30
-  %arrayidx18 = getelementptr inbounds float* %B, i64 %mul16, !dbg !31
+  %arrayidx18 = getelementptr inbounds float, float* %B, i64 %mul16, !dbg !31
   %tmp13 = load float* %arrayidx18, align 4, !dbg !31
   %add19 = fadd float %tmp5, %tmp6, !dbg !32
   %add20 = fadd float %add19, %tmp7, !dbg !33
@@ -99,7 +99,7 @@
   %add24 = fadd float %add23, %tmp12, !dbg !37
   %add25 = fadd float %add24, %tmp13, !dbg !38
   %mul26 = mul nsw i64 %tmp3, %tmp3, !dbg !39
-  %arrayidx27 = getelementptr inbounds float* %A, i64 %mul26, !dbg !40
+  %arrayidx27 = getelementptr inbounds float, float* %A, i64 %mul26, !dbg !40
   store float %add25, float* %arrayidx27, align 4, !dbg !40
   %tmp14 = add nsw i64 %tmp3, 1, !dbg !41
   %exitcond = icmp ne i64 %tmp14, 1024, !dbg !10
diff --git a/polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll b/polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
index 7e932b6..73bafa6 100644
--- a/polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
+++ b/polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
@@ -26,7 +26,7 @@
   %0 = phi i32 [ 0, %entry.split ], [ %1, %for.body ], !dbg !20
   %mul = mul nsw i32 %0, %0, !dbg !20
   %idxprom1 = zext i32 %mul to i64, !dbg !20
-  %arrayidx = getelementptr inbounds i32* %A, i64 %idxprom1, !dbg !20
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %idxprom1, !dbg !20
   store i32 0, i32* %arrayidx, align 4, !dbg !20
   %1 = add nsw i32 %0, 1, !dbg !21
   tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !16), !dbg !18
diff --git a/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll b/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
index 8ffd22f..62262a0 100644
--- a/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
+++ b/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
@@ -32,7 +32,7 @@
   br i1 %exitcond, label %for.body, label %for.end, !dbg !22
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds float* %A, i64 %i.0, !dbg !23
+  %arrayidx = getelementptr inbounds float, float* %A, i64 %i.0, !dbg !23
   store float 0.000000e+00, float* %arrayidx, align 4, !dbg !25
   br label %for.inc, !dbg !23
 
@@ -61,7 +61,7 @@
   br i1 %exitcond, label %for.body, label %for.end, !dbg !35
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds float* %A, i64 %i.0, !dbg !36
+  %arrayidx = getelementptr inbounds float, float* %A, i64 %i.0, !dbg !36
   %val = load float* %arrayidx, align 4, !dbg !38
   br label %for.inc, !dbg !36
 
diff --git a/polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll b/polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
index 65ce279..f15eaf5 100644
--- a/polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
+++ b/polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
@@ -24,7 +24,7 @@
 entry.split:                                      ; preds = %entry
   tail call void @llvm.dbg.value(metadata %struct.b* %A, i64 0, metadata !16), !dbg !23
   tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !17), !dbg !25
-  %b = getelementptr inbounds %struct.b* %A, i64 0, i32 0, !dbg !26
+  %b = getelementptr inbounds %struct.b, %struct.b* %A, i64 0, i32 0, !dbg !26
   br label %for.body, !dbg !27
 
 for.body:                                         ; preds = %for.body, %entry.split
@@ -34,16 +34,16 @@
   %2 = add i64 %0, 2, !dbg !26
   %3 = add i64 %0, 1, !dbg !26
   %4 = load double*** %b, align 8, !dbg !26, !tbaa !28
-  %arrayidx = getelementptr double** %4, i64 %0, !dbg !26
+  %arrayidx = getelementptr double*, double** %4, i64 %0, !dbg !26
   store double* null, double** %arrayidx, align 8, !dbg !26, !tbaa !33
   %5 = load double*** %b, align 8, !dbg !26, !tbaa !28
-  %arrayidx.1 = getelementptr double** %5, i64 %3, !dbg !26
+  %arrayidx.1 = getelementptr double*, double** %5, i64 %3, !dbg !26
   store double* null, double** %arrayidx.1, align 8, !dbg !26, !tbaa !33
   %6 = load double*** %b, align 8, !dbg !26, !tbaa !28
-  %arrayidx.2 = getelementptr double** %6, i64 %2, !dbg !26
+  %arrayidx.2 = getelementptr double*, double** %6, i64 %2, !dbg !26
   store double* null, double** %arrayidx.2, align 8, !dbg !26, !tbaa !33
   %7 = load double*** %b, align 8, !dbg !26, !tbaa !28
-  %arrayidx.3 = getelementptr double** %7, i64 %1, !dbg !26
+  %arrayidx.3 = getelementptr double*, double** %7, i64 %1, !dbg !26
   store double* null, double** %arrayidx.3, align 8, !dbg !26, !tbaa !33
   %indvar.next = add i64 %indvar4, 1, !dbg !27
   %exitcond = icmp eq i64 %indvar.next, 8, !dbg !27
diff --git a/polly/test/ScopInfo/20111108-Parameter-not-detected.ll b/polly/test/ScopInfo/20111108-Parameter-not-detected.ll
index 7859eb4..6428f83 100644
--- a/polly/test/ScopInfo/20111108-Parameter-not-detected.ll
+++ b/polly/test/ScopInfo/20111108-Parameter-not-detected.ll
@@ -29,7 +29,7 @@
   br i1 %cmp4, label %if.then, label %if.end
 
 if.then:                                          ; preds = %for.body3
-  %arrayidx = getelementptr i8* %A, i64 %indvar
+  %arrayidx = getelementptr i8, i8* %A, i64 %indvar
   store i8 5, i8* %arrayidx
   br label %if.end
 
diff --git a/polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll b/polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
index 0ff2e8d..0a26869 100644
--- a/polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
+++ b/polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
@@ -19,7 +19,7 @@
   %indvar = phi i32 [ %3, %do.body ], [ 0, %if.then132 ]
   %1 = add i32 0, %umax
   %2 = sub i32 %1, %indvar
-  %arrayidx = getelementptr [64 x i8]* @array, i32 0, i32 %2
+  %arrayidx = getelementptr [64 x i8], [64 x i8]* @array, i32 0, i32 %2
   store i8 1, i8* %arrayidx, align 1
   %3 = add i32 %indvar, 1
   %exitcond = icmp eq i32 %3, 20
diff --git a/polly/test/ScopInfo/Alias-0.ll b/polly/test/ScopInfo/Alias-0.ll
index f6e8516..18bf4eb 100644
--- a/polly/test/ScopInfo/Alias-0.ll
+++ b/polly/test/ScopInfo/Alias-0.ll
@@ -14,10 +14,10 @@
 
 bb3:                                              ; preds = %bb3, %bb.nph
   %i.06 = phi i64 [ 0, %bb.nph ], [ %tmp, %bb3 ]  ; <i64> [#uses=3]
-  %scevgep = getelementptr i32* %a, i64 %i.06     ; <i32*> [#uses=1]
-  %scevgep7 = getelementptr i32* %iftmp.0.0, i64 %i.06 ; <i32*> [#uses=1]
+  %scevgep = getelementptr i32, i32* %a, i64 %i.06     ; <i32*> [#uses=1]
+  %scevgep7 = getelementptr i32, i32* %iftmp.0.0, i64 %i.06 ; <i32*> [#uses=1]
   %tmp = add i64 %i.06, 1                         ; <i64> [#uses=3]
-  %scevgep8 = getelementptr i32* %iftmp.0.0, i64 %tmp ; <i32*> [#uses=1]
+  %scevgep8 = getelementptr i32, i32* %iftmp.0.0, i64 %tmp ; <i32*> [#uses=1]
   %2 = load i32* %scevgep, align 4                ; <i32> [#uses=1]
   %3 = load i32* %scevgep8, align 4               ; <i32> [#uses=1]
   %4 = shl i32 %3, 1                              ; <i32> [#uses=1]
diff --git a/polly/test/ScopInfo/Alias-1.ll b/polly/test/ScopInfo/Alias-1.ll
index fe6d30b..2fe6b74 100644
--- a/polly/test/ScopInfo/Alias-1.ll
+++ b/polly/test/ScopInfo/Alias-1.ll
@@ -9,16 +9,16 @@
 bb.nph:
   %0 = tail call i32 (...)* @rnd() nounwind       ; <i32> [#uses=1]
   %1 = icmp eq i32 %0, 0                          ; <i1> [#uses=1]
-  %sel.b = getelementptr inbounds i32* %b, i64 4 
+  %sel.b = getelementptr inbounds i32, i32* %b, i64 4 
   %iftmp.0.0 = select i1 %1, i32* %sel.b, i32* %a     ; <i32*> [#uses=2]
   br label %bb3
 
 bb3:                                              ; preds = %bb3, %bb.nph
   %i.06 = phi i64 [ 0, %bb.nph ], [ %tmp, %bb3 ]  ; <i64> [#uses=3]
-  %scevgep = getelementptr i32* %a, i64 %i.06     ; <i32*> [#uses=1]
-  %scevgep7 = getelementptr i32* %iftmp.0.0, i64 %i.06 ; <i32*> [#uses=1]
+  %scevgep = getelementptr i32, i32* %a, i64 %i.06     ; <i32*> [#uses=1]
+  %scevgep7 = getelementptr i32, i32* %iftmp.0.0, i64 %i.06 ; <i32*> [#uses=1]
   %tmp = add i64 %i.06, 1                         ; <i64> [#uses=3]
-  %scevgep8 = getelementptr i32* %iftmp.0.0, i64 %tmp ; <i32*> [#uses=1]
+  %scevgep8 = getelementptr i32, i32* %iftmp.0.0, i64 %tmp ; <i32*> [#uses=1]
   %2 = load i32* %scevgep, align 4                ; <i32> [#uses=1]
   %3 = load i32* %scevgep8, align 4               ; <i32> [#uses=1]
   %4 = shl i32 %3, 1                              ; <i32> [#uses=1]
diff --git a/polly/test/ScopInfo/Alias-2.ll b/polly/test/ScopInfo/Alias-2.ll
index b2df04d..95b4a3d 100644
--- a/polly/test/ScopInfo/Alias-2.ll
+++ b/polly/test/ScopInfo/Alias-2.ll
@@ -7,20 +7,20 @@
 
 define void @f(i32** nocapture %ptrs, i64 %p0, i64 %p1, i64 %p2) nounwind {
 bb.nph:
-  %0 = getelementptr inbounds i32** %ptrs, i64 %p0 ; <i32**> [#uses=1]
+  %0 = getelementptr inbounds i32*, i32** %ptrs, i64 %p0 ; <i32**> [#uses=1]
   %1 = load i32** %0, align 8                     ; <i32*> [#uses=1]
-  %2 = getelementptr inbounds i32** %ptrs, i64 %p1 ; <i32**> [#uses=1]
+  %2 = getelementptr inbounds i32*, i32** %ptrs, i64 %p1 ; <i32**> [#uses=1]
   %3 = load i32** %2, align 8                     ; <i32*> [#uses=1]
-  %4 = getelementptr inbounds i32** %ptrs, i64 %p2 ; <i32**> [#uses=1]
+  %4 = getelementptr inbounds i32*, i32** %ptrs, i64 %p2 ; <i32**> [#uses=1]
   %5 = load i32** %4, align 8                     ; <i32*> [#uses=1]
   br label %bb
 
 bb:                                               ; preds = %bb, %bb.nph
   %i.03 = phi i64 [ 0, %bb.nph ], [ %tmp, %bb ]   ; <i64> [#uses=3]
-  %scevgep = getelementptr i32* %3, i64 %i.03     ; <i32*> [#uses=1]
-  %scevgep4 = getelementptr i32* %5, i64 %i.03    ; <i32*> [#uses=1]
+  %scevgep = getelementptr i32, i32* %3, i64 %i.03     ; <i32*> [#uses=1]
+  %scevgep4 = getelementptr i32, i32* %5, i64 %i.03    ; <i32*> [#uses=1]
   %tmp = add i64 %i.03, 1                         ; <i64> [#uses=3]
-  %scevgep5 = getelementptr i32* %1, i64 %tmp     ; <i32*> [#uses=1]
+  %scevgep5 = getelementptr i32, i32* %1, i64 %tmp     ; <i32*> [#uses=1]
   %6 = load i32* %scevgep, align 4                ; <i32> [#uses=1]
   %7 = load i32* %scevgep4, align 4               ; <i32> [#uses=1]
   %8 = add nsw i32 %7, %6                         ; <i32> [#uses=1]
diff --git a/polly/test/ScopInfo/Alias-3.ll b/polly/test/ScopInfo/Alias-3.ll
index e480200..fcb3aa3 100644
--- a/polly/test/ScopInfo/Alias-3.ll
+++ b/polly/test/ScopInfo/Alias-3.ll
@@ -11,8 +11,8 @@
 
 bb:                                               ; preds = %bb, %bb.nph
   %i.03 = phi i64 [ 0, %bb.nph ], [ %2, %bb ]     ; <i64> [#uses=3]
-  %scevgep = getelementptr i32* %b, i64 %i.03     ; <i32*> [#uses=1]
-  %scevgep4 = getelementptr i32* %a, i64 %i.03    ; <i32*> [#uses=1]
+  %scevgep = getelementptr i32, i32* %b, i64 %i.03     ; <i32*> [#uses=1]
+  %scevgep4 = getelementptr i32, i32* %a, i64 %i.03    ; <i32*> [#uses=1]
   %0 = load i32* %scevgep, align 4                ; <i32> [#uses=1]
   %1 = add nsw i32 %0, 2                          ; <i32> [#uses=1]
   store i32 %1, i32* %scevgep4, align 4
diff --git a/polly/test/ScopInfo/Alias-4.ll b/polly/test/ScopInfo/Alias-4.ll
index d8fc4f3..b327b49 100644
--- a/polly/test/ScopInfo/Alias-4.ll
+++ b/polly/test/ScopInfo/Alias-4.ll
@@ -11,8 +11,8 @@
 
 bb:                                               ; preds = %bb, %bb.nph
   %i.03 = phi i64 [ 0, %bb.nph ], [ %2, %bb ]     ; <i64> [#uses=3]
-  %scevgep = getelementptr i32* %b, i64 %i.03     ; <i32*> [#uses=1]
-  %scevgep4 = getelementptr i32* %a, i64 %i.03    ; <i32*> [#uses=1]
+  %scevgep = getelementptr i32, i32* %b, i64 %i.03     ; <i32*> [#uses=1]
+  %scevgep4 = getelementptr i32, i32* %a, i64 %i.03    ; <i32*> [#uses=1]
   %0 = load i32* %scevgep, align 4                ; <i32> [#uses=1]
   %1 = add nsw i32 %0, 2                          ; <i32> [#uses=1]
   store i32 %1, i32* %scevgep4, align 4
diff --git a/polly/test/ScopInfo/NonAffine/non_affine_access_with_range.ll b/polly/test/ScopInfo/NonAffine/non_affine_access_with_range.ll
index 1a50900..4e399ba 100644
--- a/polly/test/ScopInfo/NonAffine/non_affine_access_with_range.ll
+++ b/polly/test/ScopInfo/NonAffine/non_affine_access_with_range.ll
@@ -26,7 +26,7 @@
   %tmp3 = zext i32 %tmp to i64
   %tmp4 = mul nuw nsw i64 %indvars.iv, %tmp3
   %tmp4b = add nsw nuw i64 %tmp4, -3
-  %tmp5 = getelementptr inbounds i32* %A, i64 %tmp4b
+  %tmp5 = getelementptr inbounds i32, i32* %A, i64 %tmp4b
   %tmp6 = load i32* %tmp5, align 4
   %tmp7 = add nsw i32 %tmp6, 1
   store i32 %tmp7, i32* %tmp5, align 4
diff --git a/polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll b/polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll
index e186b6f..68dd277 100644
--- a/polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll
+++ b/polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll
@@ -32,7 +32,7 @@
 
 bb7:                                              ; preds = %bb6
   %tmp = mul nsw i64 %indvars.iv1, %indvars.iv
-  %tmp8 = getelementptr inbounds i32* %A, i64 %tmp
+  %tmp8 = getelementptr inbounds i32, i32* %A, i64 %tmp
   %tmp9 = load i32* %tmp8, align 4
   %tmp10 = add nsw i32 %tmp9, 1
   store i32 %tmp10, i32* %tmp8, align 4
diff --git a/polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll b/polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
index f6155d9..4d83223 100644
--- a/polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
+++ b/polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
@@ -27,16 +27,16 @@
   %tmp1 = trunc i64 %indvars.iv to i32
   %add = add nsw i32 %tmp1, %div
   %idxprom = sext i32 %add to i64
-  %arrayidx = getelementptr inbounds i32* %A, i64 %idxprom
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %idxprom
   %tmp2 = load i32* %arrayidx, align 4
   %div1 = sdiv i32 %N, -5
   %tmp3 = trunc i64 %indvars.iv to i32
   %add2 = add nsw i32 %tmp3, %div1
   %idxprom3 = sext i32 %add2 to i64
-  %arrayidx4 = getelementptr inbounds i32* %A, i64 %idxprom3
+  %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 %idxprom3
   %tmp4 = load i32* %arrayidx4, align 4
   %add5 = add nsw i32 %tmp2, %tmp4
-  %arrayidx7 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx7 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %add5, i32* %arrayidx7, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll b/polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll
index b84f6d2..297166f 100644
--- a/polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll
+++ b/polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll
@@ -37,23 +37,23 @@
   br i1 %exitcond, label %bb2, label %bb18
 
 bb2:                                              ; preds = %bb1
-  %tmp = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %tmp = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   %tmp3 = load i32* %tmp, align 4
   %tmp4 = icmp eq i32 %tmp3, 0
   br i1 %tmp4, label %bb16, label %bb5
 
 bb5:                                              ; preds = %bb2
   %tmp6 = add nsw i64 %indvars.iv, -1
-  %tmp7 = getelementptr inbounds i32* %A, i64 %tmp6
+  %tmp7 = getelementptr inbounds i32, i32* %A, i64 %tmp6
   %tmp8 = load i32* %tmp7, align 4
   %tmp9 = icmp eq i32 %tmp8, 0
   br i1 %tmp9, label %bb15, label %bb10
 
 bb10:                                             ; preds = %bb5
   %tmp11 = add nsw i64 %indvars.iv, -2
-  %tmp12 = getelementptr inbounds i32* %A, i64 %tmp11
+  %tmp12 = getelementptr inbounds i32, i32* %A, i64 %tmp11
   %tmp13 = load i32* %tmp12, align 4
-  %tmp14 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %tmp14 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %tmp13, i32* %tmp14, align 4
   br label %bb15
 
diff --git a/polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll b/polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll
index d041940..df9866e 100644
--- a/polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll
+++ b/polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll
@@ -36,16 +36,16 @@
   br i1 %exitcond, label %bb2, label %bb14
 
 bb2:                                              ; preds = %bb1
-  %tmp = getelementptr inbounds float* %A, i64 %indvars.iv
+  %tmp = getelementptr inbounds float, float* %A, i64 %indvars.iv
   %tmp3 = load float* %tmp, align 4
   %tmp4 = add nsw i64 %indvars.iv, -1
-  %tmp5 = getelementptr inbounds float* %A, i64 %tmp4
+  %tmp5 = getelementptr inbounds float, float* %A, i64 %tmp4
   %tmp6 = load float* %tmp5, align 4
   %tmp7 = fcmp oeq float %tmp3, %tmp6
   br i1 %tmp7, label %bb8, label %bb12
 
 bb8:                                              ; preds = %bb2
-  %tmp9 = getelementptr inbounds float* %A, i64 %indvars.iv
+  %tmp9 = getelementptr inbounds float, float* %A, i64 %indvars.iv
   %tmp10 = load float* %tmp9, align 4
   %tmp11 = fadd float %tmp10, 1.000000e+00
   store float %tmp11, float* %tmp9, align 4
diff --git a/polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll b/polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll
index b8bfa25..a259e5a 100644
--- a/polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll
+++ b/polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll
@@ -30,17 +30,17 @@
 
 if.then:                                          ; preds = %for.body
   %tmp = add nsw i64 %indvars.iv, -1
-  %arrayidx = getelementptr inbounds i32* %A, i64 %tmp
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %tmp
   %tmp3 = load i32* %arrayidx, align 4
-  %arrayidx2 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %tmp3, i32* %arrayidx2, align 4
   br label %if.end
 
 if.else:                                          ; preds = %for.body
   %tmp4 = add nsw i64 %indvars.iv, -1
-  %arrayidx5 = getelementptr inbounds i32* %B, i64 %tmp4
+  %arrayidx5 = getelementptr inbounds i32, i32* %B, i64 %tmp4
   %tmp5 = load i32* %arrayidx5, align 4
-  %arrayidx7 = getelementptr inbounds i32* %B, i64 %indvars.iv
+  %arrayidx7 = getelementptr inbounds i32, i32* %B, i64 %indvars.iv
   store i32 %tmp5, i32* %arrayidx7, align 4
   br label %if.end
 
diff --git a/polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll b/polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll
index 223ab60..76d3cec 100644
--- a/polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll
+++ b/polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll
@@ -30,16 +30,16 @@
   br i1 %tobool, label %if.else, label %if.then
 
 if.then:                                          ; preds = %for.body
-  %arrayidx = getelementptr inbounds i32* %B, i64 5
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 5
   %tmp = load i32* %arrayidx, align 4
-  %arrayidx1 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx1 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %tmp, i32* %arrayidx1, align 4
   br label %if.end
 
 if.else:                                          ; preds = %for.body
-  %arrayidx2 = getelementptr inbounds i32* %A, i64 7
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 7
   %tmp1 = load i32* %arrayidx2, align 4
-  %arrayidx4 = getelementptr inbounds i32* %B, i64 %indvars.iv
+  %arrayidx4 = getelementptr inbounds i32, i32* %B, i64 %indvars.iv
   store i32 %tmp1, i32* %arrayidx4, align 4
   br label %if.end
 
diff --git a/polly/test/ScopInfo/aliasing_dead_access.ll b/polly/test/ScopInfo/aliasing_dead_access.ll
index 950133d..c9a1c07 100644
--- a/polly/test/ScopInfo/aliasing_dead_access.ll
+++ b/polly/test/ScopInfo/aliasing_dead_access.ll
@@ -31,9 +31,9 @@
   br i1 %cmp2, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %B, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %indvars.iv
   %tmp1 = load i32* %arrayidx, align 4
-  %arrayidx5 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %tmp1, i32* %arrayidx5, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopInfo/aliasing_many_parameters_not_all_involved.ll b/polly/test/ScopInfo/aliasing_many_parameters_not_all_involved.ll
index caaefc6..74abb7d 100644
--- a/polly/test/ScopInfo/aliasing_many_parameters_not_all_involved.ll
+++ b/polly/test/ScopInfo/aliasing_many_parameters_not_all_involved.ll
@@ -29,56 +29,56 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %B, i64 %p1
+  %arrayidx = getelementptr inbounds i32, i32* %B, i64 %p1
   %tmp = load i32* %arrayidx, align 4
-  %arrayidx1 = getelementptr inbounds i32* %B, i64 %p2
+  %arrayidx1 = getelementptr inbounds i32, i32* %B, i64 %p2
   %tmp1 = load i32* %arrayidx1, align 4
   %sub = sub nsw i32 %tmp, %tmp1
   %sub2 = sub nsw i64 0, %p3
-  %arrayidx3 = getelementptr inbounds i32* %B, i64 %sub2
+  %arrayidx3 = getelementptr inbounds i32, i32* %B, i64 %sub2
   %tmp2 = load i32* %arrayidx3, align 4
   %add = add nsw i32 %sub, %tmp2
-  %arrayidx4 = getelementptr inbounds i32* %B, i64 %p4
+  %arrayidx4 = getelementptr inbounds i32, i32* %B, i64 %p4
   %tmp3 = load i32* %arrayidx4, align 4
   %sub5 = sub nsw i32 %add, %tmp3
-  %arrayidx6 = getelementptr inbounds i32* %B, i64 %p5
+  %arrayidx6 = getelementptr inbounds i32, i32* %B, i64 %p5
   %tmp4 = load i32* %arrayidx6, align 4
   %add7 = add nsw i32 %sub5, %tmp4
   %sub8 = sub nsw i64 0, %p6
-  %arrayidx9 = getelementptr inbounds i32* %B, i64 %sub8
+  %arrayidx9 = getelementptr inbounds i32, i32* %B, i64 %sub8
   %tmp5 = load i32* %arrayidx9, align 4
   %sub10 = sub nsw i32 %add7, %tmp5
-  %arrayidx11 = getelementptr inbounds i32* %B, i64 %p7
+  %arrayidx11 = getelementptr inbounds i32, i32* %B, i64 %p7
   %tmp6 = load i32* %arrayidx11, align 4
   %add12 = add nsw i32 %sub10, %tmp6
-  %arrayidx13 = getelementptr inbounds i32* %C, i64 %p3
+  %arrayidx13 = getelementptr inbounds i32, i32* %C, i64 %p3
   %tmp7 = load i32* %arrayidx13, align 4
   %sub14 = sub nsw i32 %add12, %tmp7
   %sub15 = sub nsw i64 0, %p4
-  %arrayidx16 = getelementptr inbounds i32* %C, i64 %sub15
+  %arrayidx16 = getelementptr inbounds i32, i32* %C, i64 %sub15
   %tmp8 = load i32* %arrayidx16, align 4
   %add17 = add nsw i32 %sub14, %tmp8
-  %arrayidx18 = getelementptr inbounds i32* %C, i64 %p5
+  %arrayidx18 = getelementptr inbounds i32, i32* %C, i64 %p5
   %tmp9 = load i32* %arrayidx18, align 4
   %sub19 = sub nsw i32 %add17, %tmp9
-  %arrayidx20 = getelementptr inbounds i32* %C, i64 %p6
+  %arrayidx20 = getelementptr inbounds i32, i32* %C, i64 %p6
   %tmp10 = load i32* %arrayidx20, align 4
   %add21 = add nsw i32 %sub19, %tmp10
   %sub22 = sub nsw i64 0, %p7
-  %arrayidx23 = getelementptr inbounds i32* %C, i64 %sub22
+  %arrayidx23 = getelementptr inbounds i32, i32* %C, i64 %sub22
   %tmp11 = load i32* %arrayidx23, align 4
   %sub24 = sub nsw i32 %add21, %tmp11
-  %arrayidx25 = getelementptr inbounds i32* %C, i64 %p8
+  %arrayidx25 = getelementptr inbounds i32, i32* %C, i64 %p8
   %tmp12 = load i32* %arrayidx25, align 4
   %add26 = add nsw i32 %sub24, %tmp12
-  %arrayidx27 = getelementptr inbounds i32* %C, i64 %p9
+  %arrayidx27 = getelementptr inbounds i32, i32* %C, i64 %p9
   %tmp13 = load i32* %arrayidx27, align 4
   %sub28 = sub nsw i32 %add26, %tmp13
   %sub29 = sub nsw i64 0, %p10
-  %arrayidx30 = getelementptr inbounds i32* %C, i64 %sub29
+  %arrayidx30 = getelementptr inbounds i32, i32* %C, i64 %sub29
   %tmp14 = load i32* %arrayidx30, align 4
   %add31 = add nsw i32 %sub28, %tmp14
-  %arrayidx32 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx32 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %add31, i32* %arrayidx32, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopInfo/aliasing_multiple_alias_groups.ll b/polly/test/ScopInfo/aliasing_multiple_alias_groups.ll
index b793a79..1eade09 100644
--- a/polly/test/ScopInfo/aliasing_multiple_alias_groups.ll
+++ b/polly/test/ScopInfo/aliasing_multiple_alias_groups.ll
@@ -16,13 +16,13 @@
 
 for.body:                                         ; preds = %for.body, %entry
   %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
-  %arrayidx = getelementptr inbounds i32* %Int1, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %Int1, i64 %indvars.iv
   %tmp = load i32* %arrayidx, align 4, !tbaa !0
-  %arrayidx2 = getelementptr inbounds i32* %Int0, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds i32, i32* %Int0, i64 %indvars.iv
   store i32 %tmp, i32* %arrayidx2, align 4, !tbaa !0
-  %arrayidx4 = getelementptr inbounds float* %Float1, i64 %indvars.iv
+  %arrayidx4 = getelementptr inbounds float, float* %Float1, i64 %indvars.iv
   %tmp1 = load float* %arrayidx4, align 4, !tbaa !4
-  %arrayidx6 = getelementptr inbounds float* %Float0, i64 %indvars.iv
+  %arrayidx6 = getelementptr inbounds float, float* %Float0, i64 %indvars.iv
   store float %tmp1, float* %arrayidx6, align 4, !tbaa !4
   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
   %exitcond = icmp eq i64 %indvars.iv.next, 1024
diff --git a/polly/test/ScopInfo/assume_gep_bounds.ll b/polly/test/ScopInfo/assume_gep_bounds.ll
index d636db5..c6938e6 100644
--- a/polly/test/ScopInfo/assume_gep_bounds.ll
+++ b/polly/test/ScopInfo/assume_gep_bounds.ll
@@ -49,7 +49,7 @@
   %add = add nsw i64 %i.0, %j.0
   %add7 = add nsw i64 %add, %k.0
   %conv = sitofp i64 %add7 to float
-  %arrayidx9 = getelementptr inbounds [20 x [30 x float]]* %A, i64 %i.0, i64 %j.0, i64 %k.0
+  %arrayidx9 = getelementptr inbounds [20 x [30 x float]], [20 x [30 x float]]* %A, i64 %i.0, i64 %j.0, i64 %k.0
   store float %conv, float* %arrayidx9, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopInfo/assume_gep_bounds_2.ll b/polly/test/ScopInfo/assume_gep_bounds_2.ll
index b237de3..6885e9f 100644
--- a/polly/test/ScopInfo/assume_gep_bounds_2.ll
+++ b/polly/test/ScopInfo/assume_gep_bounds_2.ll
@@ -40,7 +40,7 @@
 for.body3:                                        ; preds = %for.cond1
   %add = add nsw i64 %i.0, %j.0
   %conv = sitofp i64 %add to float
-  %arrayidx4 = getelementptr inbounds [20 x float]* %A, i64 %i.0, i64 %j.0
+  %arrayidx4 = getelementptr inbounds [20 x float], [20 x float]* %A, i64 %i.0, i64 %j.0
   store float %conv, float* %arrayidx4, align 4
   br label %for.inc
 
@@ -74,7 +74,7 @@
 for.body17:                                       ; preds = %for.cond14
   %add18 = add nsw i64 %i8.0, %j13.0
   %conv19 = sitofp i64 %add18 to float
-  %arrayidx21 = getelementptr inbounds [20 x float]* %B, i64 %i8.0, i64 %j13.0
+  %arrayidx21 = getelementptr inbounds [20 x float], [20 x float]* %B, i64 %i8.0, i64 %j13.0
   store float %conv19, float* %arrayidx21, align 4
   br label %for.inc22
 
diff --git a/polly/test/ScopInfo/bug_2011_1_5.ll b/polly/test/ScopInfo/bug_2011_1_5.ll
index b3dcded..706a790 100644
--- a/polly/test/ScopInfo/bug_2011_1_5.ll
+++ b/polly/test/ScopInfo/bug_2011_1_5.ll
@@ -24,7 +24,7 @@
   br i1 %0, label %bb1.i216.i, label %bb.i215.i
 
 bb.i215.i:                                        ; preds = %bb1.i210.i
-  %1 = getelementptr inbounds %struct.precisionType* %tmp51.i, i64 0, i32 0
+  %1 = getelementptr inbounds %struct.precisionType, %struct.precisionType* %tmp51.i, i64 0, i32 0
   store i16 undef, i16* %1, align 2
   br label %bb1.i216.i
 
diff --git a/polly/test/ScopInfo/bug_scev_not_fully_eval.ll b/polly/test/ScopInfo/bug_scev_not_fully_eval.ll
index a73d59e..bf1dfb9 100644
--- a/polly/test/ScopInfo/bug_scev_not_fully_eval.ll
+++ b/polly/test/ScopInfo/bug_scev_not_fully_eval.ll
@@ -23,7 +23,7 @@
 bb7:                                              ; preds = %bb7, %bb.nph
   %indvar = phi i64 [ 0, %bb.nph ], [ %indvar.next, %bb7 ] ; <i64> [#uses=2]
   %tmp21 = add i64 %tmp, %indvar                  ; <i64> [#uses=1]
-  %scevgep = getelementptr [72 x i32]* @edge.8265, i64 0, i64 %tmp21 ; <i32*> [#uses=1]
+  %scevgep = getelementptr [72 x i32], [72 x i32]* @edge.8265, i64 0, i64 %tmp21 ; <i32*> [#uses=1]
   store i32 undef, i32* %scevgep, align 4
   %indvar.next = add i64 %indvar, 1               ; <i64> [#uses=1]
   br i1 undef, label %bb10, label %bb7
diff --git a/polly/test/ScopInfo/cond_constant_in_loop.ll b/polly/test/ScopInfo/cond_constant_in_loop.ll
index 9bec936..1887bad 100644
--- a/polly/test/ScopInfo/cond_constant_in_loop.ll
+++ b/polly/test/ScopInfo/cond_constant_in_loop.ll
@@ -21,7 +21,7 @@
 
 bb:                                               ; preds = %bb3, %entry
   %1 = phi i64 [ 0, %entry ], [ %2, %bb3 ]        ; <i64> [#uses=5]
-  %scevgep = getelementptr i64* %a, i64 %1        ; <i64*> [#uses=2]
+  %scevgep = getelementptr i64, i64* %a, i64 %1        ; <i64*> [#uses=2]
   br i1 true, label %bb1, label %bb2
 
 bb1:                                              ; preds = %bb
@@ -30,7 +30,7 @@
 
 bb2:                                              ; preds = %bb
   %tmp7 = sub i64 %1, %N                          ; <i64> [#uses=1]
-  %scevgep8 = getelementptr i64* %a, i64 %tmp7    ; <i64*> [#uses=1]
+  %scevgep8 = getelementptr i64, i64* %a, i64 %tmp7    ; <i64*> [#uses=1]
   store i64 %M, i64* %scevgep, align 8
   store i64 0, i64* %scevgep8, align 8
   br label %bb3
diff --git a/polly/test/ScopInfo/cond_in_loop.ll b/polly/test/ScopInfo/cond_in_loop.ll
index c811508..2099841 100644
--- a/polly/test/ScopInfo/cond_in_loop.ll
+++ b/polly/test/ScopInfo/cond_in_loop.ll
@@ -21,7 +21,7 @@
 
 bb:                                               ; preds = %bb3, %entry
   %1 = phi i64 [ 0, %entry ], [ %3, %bb3 ]        ; <i64> [#uses=5]
-  %scevgep = getelementptr i64* %a, i64 %1        ; <i64*> [#uses=2]
+  %scevgep = getelementptr i64, i64* %a, i64 %1        ; <i64*> [#uses=2]
   %2 = icmp slt i64 %1, %N                        ; <i1> [#uses=1]
   br i1 %2, label %bb1, label %bb2
 
@@ -31,7 +31,7 @@
 
 bb2:                                              ; preds = %bb
   %tmp7 = sub i64 %1, %N                          ; <i64> [#uses=1]
-  %scevgep8 = getelementptr i64* %a, i64 %tmp7    ; <i64*> [#uses=1]
+  %scevgep8 = getelementptr i64, i64* %a, i64 %tmp7    ; <i64*> [#uses=1]
   store i64 %M, i64* %scevgep, align 8
   store i64 0, i64* %scevgep8, align 8
   br label %bb3
diff --git a/polly/test/ScopInfo/constant_start_integer.ll b/polly/test/ScopInfo/constant_start_integer.ll
index 5a4c6cb..ca8157f 100644
--- a/polly/test/ScopInfo/constant_start_integer.ll
+++ b/polly/test/ScopInfo/constant_start_integer.ll
@@ -33,10 +33,10 @@
   %i.020 = phi i64 [ 0, %for.cond1.preheader ], [ %inc, %for.body3 ]
   %add = add nsw i64 %i.020, %mul
   %add4 = add nsw i64 %add, 1
-  %arrayidx = getelementptr inbounds float* %input, i64 %add4
+  %arrayidx = getelementptr inbounds float, float* %input, i64 %add4
   %0 = load float* %arrayidx, align 8
   %mul5 = fmul float %0, %0
-  %arrayidx9 = getelementptr inbounds float* %input, i64 %add
+  %arrayidx9 = getelementptr inbounds float, float* %input, i64 %add
   store float %mul5, float* %arrayidx9, align 8
   %inc = add nsw i64 %i.020, 1
   %exitcond = icmp eq i64 %inc, 63
diff --git a/polly/test/ScopInfo/delinearize-together-all-data-refs.ll b/polly/test/ScopInfo/delinearize-together-all-data-refs.ll
index 00837f1..d86536e 100644
--- a/polly/test/ScopInfo/delinearize-together-all-data-refs.ll
+++ b/polly/test/ScopInfo/delinearize-together-all-data-refs.ll
@@ -51,10 +51,10 @@
 for.body6:                                        ; preds = %for.body6, %for.body6.lr.ph
   %k.032 = phi i64 [ 0, %for.body6.lr.ph ], [ %inc, %for.body6 ]
   %arrayidx8.sum = add i64 %arrayidx.sum, %k.032
-  %arrayidx9 = getelementptr inbounds double* %A, i64 %arrayidx8.sum
+  %arrayidx9 = getelementptr inbounds double, double* %A, i64 %arrayidx8.sum
   store double 1.000000e+00, double* %arrayidx9, align 8
   %arrayidx10.sum = add i64 %k.032, %2
-  %arrayidx12 = getelementptr inbounds double* %A, i64 %arrayidx10.sum
+  %arrayidx12 = getelementptr inbounds double, double* %A, i64 %arrayidx10.sum
   store double 2.000000e+00, double* %arrayidx12, align 8
   %inc = add nsw i64 %k.032, 1
   %osub = sub nsw i64 %o, 7
diff --git a/polly/test/ScopInfo/independent-blocks-never-stop-on-big-scop.ll b/polly/test/ScopInfo/independent-blocks-never-stop-on-big-scop.ll
index b4912a5..8ca6a8a 100644
--- a/polly/test/ScopInfo/independent-blocks-never-stop-on-big-scop.ll
+++ b/polly/test/ScopInfo/independent-blocks-never-stop-on-big-scop.ll
@@ -8,7 +8,7 @@
 
 ; <label>:1                                       ; preds = %1, %0
   %indvars.iv3 = phi i64 [ 0, %0 ], [ %indvars.iv.next4, %1 ]
-  %2 = getelementptr inbounds [100 x i32]* %arr, i64 0, i64 %indvars.iv3
+  %2 = getelementptr inbounds [100 x i32], [100 x i32]* %arr, i64 0, i64 %indvars.iv3
   %3 = trunc i64 %indvars.iv3 to i32
   store i32 %3, i32* %2, align 4, !tbaa !0
   %indvars.iv.next4 = add i64 %indvars.iv3, 1
@@ -18,7 +18,7 @@
 
 .preheader:                                       ; preds = %.preheader, %1
   %indvars.iv = phi i64 [ %indvars.iv.next, %.preheader ], [ 0, %1 ]
-  %4 = getelementptr inbounds [100 x i32]* %arr, i64 0, i64 %indvars.iv
+  %4 = getelementptr inbounds [100 x i32], [100 x i32]* %arr, i64 0, i64 %indvars.iv
   %5 = load i32* %4, align 4, !tbaa !0
   %6 = xor i32 %5, -1
   %7 = shl i32 %5, 15
diff --git a/polly/test/ScopInfo/integers.ll b/polly/test/ScopInfo/integers.ll
index 3b1a37f..50c2a25 100644
--- a/polly/test/ScopInfo/integers.ll
+++ b/polly/test/ScopInfo/integers.ll
@@ -12,7 +12,7 @@
 
 bb:
   %indvar = phi i1024 [ 0, %entry ], [ %indvar.next, %bb ]
-  %scevgep = getelementptr i1024* %a, i1024 %indvar
+  %scevgep = getelementptr i1024, i1024* %a, i1024 %indvar
   store i1024 %indvar, i1024* %scevgep, align 8
   %indvar.next = add nsw i1024 %indvar, 1
   %exitcond = icmp eq i1024 %indvar, 123456000000000000000000000
@@ -31,7 +31,7 @@
 
 bb:
   %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %bb ]
-  %scevgep = getelementptr i32* %a, i32 %indvar
+  %scevgep = getelementptr i32, i32* %a, i32 %indvar
   store i32 %indvar, i32* %scevgep, align 8
   %indvar.next = add nsw i32 %indvar, 1
   %exitcond = icmp eq i32 %indvar, 123456
@@ -50,7 +50,7 @@
 
 bb:
   %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %bb ]
-  %scevgep = getelementptr i32* %a, i32 %indvar
+  %scevgep = getelementptr i32, i32* %a, i32 %indvar
   store i32 %indvar, i32* %scevgep, align 8
   %indvar.next = add nsw i32 %indvar, 1
   %sub = sub i32 %n, 123456
@@ -70,7 +70,7 @@
 
 bb:
   %indvar = phi i1024 [ 0, %entry ], [ %indvar.next, %bb ]
-  %scevgep = getelementptr i1024* %a, i1024 %indvar
+  %scevgep = getelementptr i1024, i1024* %a, i1024 %indvar
   store i1024 %indvar, i1024* %scevgep, align 8
   %indvar.next = add nsw i1024 %indvar, 1
   %sub = sub i1024 %n, 123456000000000000000000000000000000
@@ -89,7 +89,7 @@
 
 bb:
   %indvar = phi i1023 [ 0, %entry ], [ %indvar.next, %bb ]
-  %scevgep = getelementptr i1023* %a, i1023 %indvar
+  %scevgep = getelementptr i1023, i1023* %a, i1023 %indvar
   store i1023 %indvar, i1023* %scevgep, align 8
   %indvar.next = add nsw i1023 %indvar, 1
   %sub = sub i1023 %n, 123456000000000000000000000000000000
@@ -109,7 +109,7 @@
 
 bb:
   %indvar = phi i3 [ 0, %entry ], [ %indvar.next, %bb ]
-  %scevgep = getelementptr i3* %a, i3 %indvar
+  %scevgep = getelementptr i3, i3* %a, i3 %indvar
   store i3 %indvar, i3* %scevgep, align 8
   %indvar.next = add nsw i3 %indvar, 1
   %sub = sub i3 %n, 3
diff --git a/polly/test/ScopInfo/isl_aff_out_of_bounds.ll b/polly/test/ScopInfo/isl_aff_out_of_bounds.ll
index 86f2557..9c41856 100644
--- a/polly/test/ScopInfo/isl_aff_out_of_bounds.ll
+++ b/polly/test/ScopInfo/isl_aff_out_of_bounds.ll
@@ -15,7 +15,7 @@
 
 do.body:                                          ; preds = %do.body, %entry
   %ftmp.0 = phi float* [ %add.ptr, %do.body ], [ %lsp, %entry ]
-  %add.ptr = getelementptr inbounds float* %ftmp.0, i64 2
+  %add.ptr = getelementptr inbounds float, float* %ftmp.0, i64 2
   br i1 true, label %do.end, label %do.body
 
 do.end:                                           ; preds = %do.body
diff --git a/polly/test/ScopInfo/loop_affine_bound_0.ll b/polly/test/ScopInfo/loop_affine_bound_0.ll
index 8982967..44952cb 100644
--- a/polly/test/ScopInfo/loop_affine_bound_0.ll
+++ b/polly/test/ScopInfo/loop_affine_bound_0.ll
@@ -21,7 +21,7 @@
 
 bb1:                                              ; preds = %bb2.preheader, %bb1
   %i.06 = phi i64 [ 0, %bb2.preheader ], [ %5, %bb1 ] ; <i64> [#uses=2]
-  %scevgep = getelementptr [128 x i64]* %a, i64 %i.06, i64 %10 ; <i64*> [#uses=1]
+  %scevgep = getelementptr [128 x i64], [128 x i64]* %a, i64 %i.06, i64 %10 ; <i64*> [#uses=1]
   store i64 0, i64* %scevgep, align 8
   %5 = add nsw i64 %i.06, 1                       ; <i64> [#uses=2]
   %exitcond = icmp eq i64 %5, %8                  ; <i1> [#uses=1]
diff --git a/polly/test/ScopInfo/loop_affine_bound_1.ll b/polly/test/ScopInfo/loop_affine_bound_1.ll
index 2769bc3..636ecf1 100644
--- a/polly/test/ScopInfo/loop_affine_bound_1.ll
+++ b/polly/test/ScopInfo/loop_affine_bound_1.ll
@@ -21,7 +21,7 @@
 
 bb1:                                              ; preds = %bb2.preheader, %bb1
   %indvar = phi i64 [ 0, %bb2.preheader ], [ %indvar.next, %bb1 ] ; <i64> [#uses=2]
-  %scevgep = getelementptr [128 x i64]* %a, i64 %indvar, i64 %tmp10 ; <i64*> [#uses=1]
+  %scevgep = getelementptr [128 x i64], [128 x i64]* %a, i64 %indvar, i64 %tmp10 ; <i64*> [#uses=1]
   store i64 0, i64* %scevgep, align 8
   %indvar.next = add i64 %indvar, 1               ; <i64> [#uses=2]
   %exitcond = icmp eq i64 %indvar.next, %tmp9     ; <i1> [#uses=1]
diff --git a/polly/test/ScopInfo/loop_affine_bound_2.ll b/polly/test/ScopInfo/loop_affine_bound_2.ll
index 2bf2890..88cbc8e 100644
--- a/polly/test/ScopInfo/loop_affine_bound_2.ll
+++ b/polly/test/ScopInfo/loop_affine_bound_2.ll
@@ -46,7 +46,7 @@
 bb1:                                              ; preds = %bb1, %bb
   %indvar = phi i64 [ 0, %bb ], [ %indvar.next, %bb1 ]
   %tmp16 = add i64 %indvar, %tmp15
-  %scevgep = getelementptr [128 x i64]* %a, i64 %tmp16, i64 %tmp17
+  %scevgep = getelementptr [128 x i64], [128 x i64]* %a, i64 %tmp16, i64 %tmp17
   store i64 0, i64* %scevgep
   %indvar.next = add i64 %indvar, 1
   %exitcond = icmp eq i64 %indvar.next, %tmp13
diff --git a/polly/test/ScopInfo/loop_carry.ll b/polly/test/ScopInfo/loop_carry.ll
index f843b98..aa32ab7 100644
--- a/polly/test/ScopInfo/loop_carry.ll
+++ b/polly/test/ScopInfo/loop_carry.ll
@@ -28,14 +28,14 @@
   %indvar = phi i64 [ 0, %bb.nph ], [ %tmp6, %bb ] ; <i64> [#uses=3]
   %k.05 = phi i64 [ 1, %bb.nph ], [ %5, %bb ]     ; <i64> [#uses=1]
   %tmp6 = add i64 %indvar, 1                      ; <i64> [#uses=3]
-  %scevgep = getelementptr i64* %a, i64 %tmp6     ; <i64*> [#uses=1]
+  %scevgep = getelementptr i64, i64* %a, i64 %tmp6     ; <i64*> [#uses=1]
   %2 = mul nsw i64 %1, %k.05                      ; <i64> [#uses=2]
   store i64 %2, i64* %scevgep, align 8
   %tmp7 = shl i64 %indvar, 1                      ; <i64> [#uses=1]
   %tmp11 = add i64 %indvar, 4                     ; <i64> [#uses=1]
   %tmp8 = add i64 %tmp7, 2                        ; <i64> [#uses=1]
-  %scevgep12 = getelementptr i64* %a, i64 %tmp11  ; <i64*> [#uses=1]
-  %scevgep9 = getelementptr i64* %a, i64 %tmp8    ; <i64*> [#uses=1]
+  %scevgep12 = getelementptr i64, i64* %a, i64 %tmp11  ; <i64*> [#uses=1]
+  %scevgep9 = getelementptr i64, i64* %a, i64 %tmp8    ; <i64*> [#uses=1]
   %3 = load i64* %scevgep9, align 8               ; <i64> [#uses=1]
   %4 = load i64* %scevgep12, align 8              ; <i64> [#uses=1]
   %5 = add nsw i64 %3, %4                         ; <i64> [#uses=1]
diff --git a/polly/test/ScopInfo/max-loop-depth.ll b/polly/test/ScopInfo/max-loop-depth.ll
index 5b2f109..0c8e728 100644
--- a/polly/test/ScopInfo/max-loop-depth.ll
+++ b/polly/test/ScopInfo/max-loop-depth.ll
@@ -35,7 +35,7 @@
   br i1 %cmp2, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %A, i64 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 1
   store i32 %add, i32* %arrayidx, align 4
@@ -54,7 +54,7 @@
   br i1 %cmp6, label %for.body7, label %for.end12
 
 for.body7:                                        ; preds = %for.cond5
-  %arrayidx8 = getelementptr inbounds i32* %A, i64 %i4.0
+  %arrayidx8 = getelementptr inbounds i32, i32* %A, i64 %i4.0
   %tmp1 = load i32* %arrayidx8, align 4
   %add9 = add nsw i32 %tmp1, 1
   store i32 %add9, i32* %arrayidx8, align 4
diff --git a/polly/test/ScopInfo/multi-scop.ll b/polly/test/ScopInfo/multi-scop.ll
index f9e07aa..d48b898 100644
--- a/polly/test/ScopInfo/multi-scop.ll
+++ b/polly/test/ScopInfo/multi-scop.ll
@@ -24,7 +24,7 @@
   %j.19 = phi i32 [ %shl, %for.end ], [ %add169, %for.body81 ]
   %add13710 = or i32 %j.19, 1
   %idxprom138 = sext i32 %add13710 to i64
-  %arrayidx139 = getelementptr inbounds double* %a, i64 %idxprom138
+  %arrayidx139 = getelementptr inbounds double, double* %a, i64 %idxprom138
   store double undef, double* %arrayidx139, align 8
   %add169 = add nsw i32 %j.19, 2
   br i1 false, label %for.body81, label %for.end170
diff --git a/polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll b/polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll
index d0d6d34..4573558 100644
--- a/polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll
+++ b/polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll
@@ -32,7 +32,7 @@
   %i = phi i64 [ 0, %entry ], [ %i.inc, %for.i ]
   %tmp = mul nsw i64 %i, %n
   %vlaarrayidx.sum = add i64 %i, %tmp
-  %arrayidx = getelementptr inbounds double* %A, i64 %vlaarrayidx.sum
+  %arrayidx = getelementptr inbounds double, double* %A, i64 %vlaarrayidx.sum
   store double 1.0, double* %arrayidx
   %i.inc = add nsw i64 %i, 1
   %i.exitcond = icmp eq i64 %i.inc, %n
diff --git a/polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll b/polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll
index be06c8c..11055aa 100644
--- a/polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll
+++ b/polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll
@@ -37,7 +37,7 @@
 for.j:
   %j = phi i64 [ 0, %for.i ], [ %j.inc, %for.j ]
   %vlaarrayidx.sum = add i64 %j, %tmp
-  %arrayidx = getelementptr inbounds double* %A, i64 %vlaarrayidx.sum
+  %arrayidx = getelementptr inbounds double, double* %A, i64 %vlaarrayidx.sum
   store double 1.0, double* %arrayidx
   %j.inc = add nsw i64 %j, 1
   %j.exitcond = icmp eq i64 %j.inc, %m
diff --git a/polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll b/polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll
index 99fe3fc..26b5b31 100644
--- a/polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll
+++ b/polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll
@@ -33,7 +33,7 @@
 for.j:
   %j = phi i64 [ 0, %for.i ], [ %j.inc, %for.j ]
   %vlaarrayidx.sum = add i64 %j, %tmp
-  %arrayidx = getelementptr inbounds double* %A, i64 %vlaarrayidx.sum
+  %arrayidx = getelementptr inbounds double, double* %A, i64 %vlaarrayidx.sum
   store double 1.0, double* %arrayidx
   %j.inc = add nsw i64 %j, 1
   %j.exitcond = icmp eq i64 %j.inc, 150
diff --git a/polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll b/polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
index fa68825..0a02c71 100644
--- a/polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
+++ b/polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
@@ -41,7 +41,7 @@
   %subscript1 = add i64 %j, %subscript0
   %subscript2 = mul i64 %subscript1, %o
   %subscript = add i64 %subscript2, %k
-  %idx = getelementptr inbounds double* %A, i64 %subscript
+  %idx = getelementptr inbounds double, double* %A, i64 %subscript
   store double 1.0, double* %idx
   br label %for.k.inc
 
diff --git a/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll b/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
index 5d7f86e..ca96517 100644
--- a/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
+++ b/polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
@@ -46,7 +46,7 @@
   %subscript2 = mul i64 %subscript1, %o
   %offset2 = add nsw i64 %k, 7
   %subscript = add i64 %subscript2, %offset2
-  %idx = getelementptr inbounds double* %A, i64 %subscript
+  %idx = getelementptr inbounds double, double* %A, i64 %subscript
   store double 1.0, double* %idx
   br label %for.k.inc
 
diff --git a/polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll b/polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
index c49d41e..60284c3 100644
--- a/polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
+++ b/polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
@@ -53,7 +53,7 @@
   %subscript2 = mul i64 %subscript1, %o
   %offset2 = add nsw i64 %k, %r
   %subscript = add i64 %subscript2, %offset2
-  %idx = getelementptr inbounds double* %A, i64 %subscript
+  %idx = getelementptr inbounds double, double* %A, i64 %subscript
   store double 1.0, double* %idx
   br label %for.k.inc
 
diff --git a/polly/test/ScopInfo/multidim_nested_start_integer.ll b/polly/test/ScopInfo/multidim_nested_start_integer.ll
index a9f1a24..42d2cb1 100644
--- a/polly/test/ScopInfo/multidim_nested_start_integer.ll
+++ b/polly/test/ScopInfo/multidim_nested_start_integer.ll
@@ -43,7 +43,7 @@
   %subscript2 = mul i64 %subscript1, %o
   %offset2 = add nsw i64 %k, 7
   %subscript = add i64 %subscript2, %offset2
-  %idx = getelementptr inbounds double* %A, i64 %subscript
+  %idx = getelementptr inbounds double, double* %A, i64 %subscript
   store double 1.0, double* %idx
   br label %for.k.inc
 
diff --git a/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll b/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
index 93bf945..ce896f6 100644
--- a/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
+++ b/polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
@@ -44,7 +44,7 @@
   %subscript2 = mul i64 %subscript1, %o
   %offset2 = add nsw i64 %k, 7
   %subscript3 = add i64 %subscript2, %offset2
-  %idx = getelementptr inbounds double* %A, i64 %subscript3
+  %idx = getelementptr inbounds double, double* %A, i64 %subscript3
   store double 1.0, double* %idx
 
   %offset3 = add nsw i64 %i, 13
@@ -54,7 +54,7 @@
   %subscript6 = mul i64 %subscript5, %o
   %offset5 = add nsw i64 %k, 17
   %subscript7 = add i64 %subscript6, %offset5
-  %idx1 = getelementptr inbounds double* %A, i64 %subscript7
+  %idx1 = getelementptr inbounds double, double* %A, i64 %subscript7
   store double 11.0, double* %idx1
 
   br label %for.k.inc
diff --git a/polly/test/ScopInfo/multidim_only_ivs_2d.ll b/polly/test/ScopInfo/multidim_only_ivs_2d.ll
index 689e2e7..fdc0467 100644
--- a/polly/test/ScopInfo/multidim_only_ivs_2d.ll
+++ b/polly/test/ScopInfo/multidim_only_ivs_2d.ll
@@ -35,7 +35,7 @@
 for.j:
   %j = phi i64 [ 0, %for.i ], [ %j.inc, %for.j ]
   %vlaarrayidx.sum = add i64 %j, %tmp
-  %arrayidx = getelementptr inbounds double* %A, i64 %vlaarrayidx.sum
+  %arrayidx = getelementptr inbounds double, double* %A, i64 %vlaarrayidx.sum
   store double 1.0, double* %arrayidx
   %j.inc = add nsw i64 %j, 1
   %j.exitcond = icmp eq i64 %j.inc, %m
diff --git a/polly/test/ScopInfo/multidim_only_ivs_3d.ll b/polly/test/ScopInfo/multidim_only_ivs_3d.ll
index ca5de52..d922ed1 100644
--- a/polly/test/ScopInfo/multidim_only_ivs_3d.ll
+++ b/polly/test/ScopInfo/multidim_only_ivs_3d.ll
@@ -42,7 +42,7 @@
   %subscript1 = add i64 %j, %subscript0
   %subscript2 = mul i64 %subscript1, %o
   %subscript = add i64 %subscript2, %k
-  %idx = getelementptr inbounds double* %A, i64 %subscript
+  %idx = getelementptr inbounds double, double* %A, i64 %subscript
   store double 1.0, double* %idx
   br label %for.k.inc
 
diff --git a/polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll b/polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
index ef568d8..886b091 100644
--- a/polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
+++ b/polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
@@ -57,7 +57,7 @@
   %tmp.us.us = add i64 %j, %tmp
   %tmp17.us.us = mul i64 %tmp.us.us, %n_zext
   %subscript = add i64 %tmp17.us.us, %k
-  %idx = getelementptr inbounds double* %A, i64 %subscript
+  %idx = getelementptr inbounds double, double* %A, i64 %subscript
   store double 1.0, double* %idx
   br label %for.k.inc
 
diff --git a/polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll b/polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
index 5a4ae74..24bbe72 100644
--- a/polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
+++ b/polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
@@ -47,7 +47,7 @@
   %subscript1 = add i64 %j, %subscript0
   %subscript2 = mul i64 %subscript1, %o
   %subscript = add i64 %subscript2, %k
-  %idx = getelementptr inbounds double* %A, i64 %subscript
+  %idx = getelementptr inbounds double, double* %A, i64 %subscript
   store double 1.0, double* %idx
   br label %for.j.inc
 
diff --git a/polly/test/ScopInfo/multidim_single_and_multidim_array.ll b/polly/test/ScopInfo/multidim_single_and_multidim_array.ll
index d8b0c881..3823c43 100644
--- a/polly/test/ScopInfo/multidim_single_and_multidim_array.ll
+++ b/polly/test/ScopInfo/multidim_single_and_multidim_array.ll
@@ -43,7 +43,7 @@
 for.i.1:
   %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %for.i.1 ]
   %offset.1 = mul i64 %n, %indvar.1
-  %arrayidx.1 = getelementptr float* %X, i64 %offset.1
+  %arrayidx.1 = getelementptr float, float* %X, i64 %offset.1
   store float 1.000000e+00, float* %arrayidx.1
   %indvar.next.1 = add nsw i64 %indvar.1, 1
   %exitcond.1 = icmp ne i64 %indvar.next.1, %n
@@ -57,7 +57,7 @@
   %offset.2.a = add i64 %n, -1
   %offset.2.b = mul i64 %n, %offset.2.a
   %offset.2.c = add i64 %offset.2.b, %indvar.2
-  %arrayidx.2 = getelementptr float* %X, i64 %offset.2.c
+  %arrayidx.2 = getelementptr float, float* %X, i64 %offset.2.c
   store float 1.000000e+00, float* %arrayidx.2
   %indvar.next.2 = add nsw i64 %indvar.2, 1
   %exitcond.2 = icmp ne i64 %indvar.next.2, %n
diff --git a/polly/test/ScopInfo/non_affine_access.ll b/polly/test/ScopInfo/non_affine_access.ll
index 29cdecb..fa5c1c9 100644
--- a/polly/test/ScopInfo/non_affine_access.ll
+++ b/polly/test/ScopInfo/non_affine_access.ll
@@ -20,7 +20,7 @@
 for.body:                                         ; preds = %entry.split, %for.body
   %indvar = phi i64 [ 0, %entry.split ], [ %indvar.next, %for.body ]
   %mul = mul nsw i64 %indvar, %indvar
-  %arrayidx = getelementptr inbounds i64* %A, i64 %mul
+  %arrayidx = getelementptr inbounds i64, i64* %A, i64 %mul
   store i64 %indvar, i64* %arrayidx, align 4
   %indvar.next = add nsw i64 %indvar, 1
   %exitcond = icmp ne i64 %indvar.next, 1024
diff --git a/polly/test/ScopInfo/non_affine_parametric_loop.ll b/polly/test/ScopInfo/non_affine_parametric_loop.ll
index 5a5d76e..af51775 100644
--- a/polly/test/ScopInfo/non_affine_parametric_loop.ll
+++ b/polly/test/ScopInfo/non_affine_parametric_loop.ll
@@ -13,9 +13,9 @@
 
 for.body:
   %i = phi i64 [ %inc, %for.body ], [ 0, %entry ]
-  %arrayidx = getelementptr inbounds i64* %INDEX, i64 %i
+  %arrayidx = getelementptr inbounds i64, i64* %INDEX, i64 %i
   %val = load i64* %arrayidx
-  %arrayidx1 = getelementptr inbounds double* %A, i64 %val
+  %arrayidx1 = getelementptr inbounds double, double* %A, i64 %val
   store double 1.0, double* %arrayidx1
   %inc = add nsw i64 %i, 1
   %exitcond = icmp eq i64 %inc, %n
diff --git a/polly/test/ScopInfo/parameter_product.ll b/polly/test/ScopInfo/parameter_product.ll
index 4b027ea..42bdd6b 100644
--- a/polly/test/ScopInfo/parameter_product.ll
+++ b/polly/test/ScopInfo/parameter_product.ll
@@ -17,7 +17,7 @@
 
 for.body:
   %i.02 = phi i32 [ %add, %for.body ], [ 0, %entry ]
-  %arrayidx = getelementptr inbounds i8* %a, i64 0
+  %arrayidx = getelementptr inbounds i8, i8* %a, i64 0
   store i8 2, i8* %arrayidx, align 1
   %add = add nsw i32 %i.02, 1
   %cmp = icmp slt i32 %add, %mul
diff --git a/polly/test/ScopInfo/phi_condition_modeling_1.ll b/polly/test/ScopInfo/phi_condition_modeling_1.ll
index 06f33a0..6d39d9e 100644
--- a/polly/test/ScopInfo/phi_condition_modeling_1.ll
+++ b/polly/test/ScopInfo/phi_condition_modeling_1.ll
@@ -50,7 +50,7 @@
 
 bb8:                                              ; preds = %bb7, %bb6
   %tmp.0 = phi i32 [ 3, %bb6 ], [ 5, %bb7 ]
-  %tmp9 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %tmp9 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %tmp.0, i32* %tmp9, align 4
   br label %bb10
 
diff --git a/polly/test/ScopInfo/phi_condition_modeling_2.ll b/polly/test/ScopInfo/phi_condition_modeling_2.ll
index 1412dee..5858a351 100644
--- a/polly/test/ScopInfo/phi_condition_modeling_2.ll
+++ b/polly/test/ScopInfo/phi_condition_modeling_2.ll
@@ -58,7 +58,7 @@
   br label %bb8b
 
 bb8b:
-  %tmp9 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %tmp9 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %tmp.0, i32* %tmp9, align 4
   br label %bb10
 
diff --git a/polly/test/ScopInfo/phi_conditional_simple_1.ll b/polly/test/ScopInfo/phi_conditional_simple_1.ll
index e415076..c4c1cc0 100644
--- a/polly/test/ScopInfo/phi_conditional_simple_1.ll
+++ b/polly/test/ScopInfo/phi_conditional_simple_1.ll
@@ -46,7 +46,7 @@
 
 if.end:                                           ; preds = %if.else, %if.then
   %phi = phi i32 [ 1, %if.then], [ 2, %if.else ]
-  %arrayidx = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %phi, i32* %arrayidx, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopInfo/phi_loop_carried_float.ll b/polly/test/ScopInfo/phi_loop_carried_float.ll
index 47e2cb7..ff35a07 100644
--- a/polly/test/ScopInfo/phi_loop_carried_float.ll
+++ b/polly/test/ScopInfo/phi_loop_carried_float.ll
@@ -37,7 +37,7 @@
   br label %bb4
 
 bb4:                                              ; preds = %bb3
-  %tmp5 = getelementptr inbounds float* %A, i64 %indvars.iv
+  %tmp5 = getelementptr inbounds float, float* %A, i64 %indvars.iv
   %tmp6 = load float* %tmp5, align 4
   %tmp7 = fadd float %tmp.0, %tmp6
   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
diff --git a/polly/test/ScopInfo/phi_scalar_simple_1.ll b/polly/test/ScopInfo/phi_scalar_simple_1.ll
index b8a87dd..3c6408a 100644
--- a/polly/test/ScopInfo/phi_scalar_simple_1.ll
+++ b/polly/test/ScopInfo/phi_scalar_simple_1.ll
@@ -57,7 +57,7 @@
 ; CHECK:           [N] -> { Stmt_for_inc[i0, i1] -> MemRef_x_addr_1[] };
 ; CHECK:       ReadAccess := [Reduction Type: NONE] [Scalar: 0]
 ; CHECK:           [N] -> { Stmt_for_inc[i0, i1] -> MemRef_A[1 + i0] };
-  %arrayidx = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   %tmp1 = load i32* %arrayidx, align 4
   %add = add nsw i32 %x.addr.1, %tmp1
   %inc = add nsw i32 %j.0, 1
diff --git a/polly/test/ScopInfo/phi_scalar_simple_2.ll b/polly/test/ScopInfo/phi_scalar_simple_2.ll
index 54c1255..c447181 100644
--- a/polly/test/ScopInfo/phi_scalar_simple_2.ll
+++ b/polly/test/ScopInfo/phi_scalar_simple_2.ll
@@ -28,7 +28,7 @@
 ; CHECK:         [N, c] -> { Stmt_for_cond[i0] -> MemRef_x_addr_0[] };
   %indvars.iv = phi i64 [ %indvars.iv.next, %for.inc5 ], [ 0, %entry ]
   %x.addr.0 = phi i32 [ %x, %entry ], [ %x.addr.1, %for.inc5 ]
-  %arrayidx2 = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   store i32 %x.addr.0, i32* %arrayidx2
   %cmp = icmp slt i64 %indvars.iv, %tmp
   br i1 %cmp, label %for.body, label %for.end7
@@ -73,7 +73,7 @@
 ; CHECK:         [N, c] -> { Stmt_if_then[i0, i1] -> MemRef_A[i0] };
 ; CHECK:     MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 1]
 ; CHECK:         [N, c] -> { Stmt_if_then[i0, i1] -> MemRef_x_addr_2[] };
-  %arrayidx = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   %tmp2 = load i32* %arrayidx, align 4
   %add = add nsw i32 %x.addr.1, %tmp2
   br label %if.end
diff --git a/polly/test/ScopInfo/pointer-type-expressions.ll b/polly/test/ScopInfo/pointer-type-expressions.ll
index 9fab940..51e8193 100644
--- a/polly/test/ScopInfo/pointer-type-expressions.ll
+++ b/polly/test/ScopInfo/pointer-type-expressions.ll
@@ -20,7 +20,7 @@
   br i1 %brcond, label %store, label %bb.backedge
 
 store:
-  %scevgep = getelementptr i64* %a, i64 %i
+  %scevgep = getelementptr i64, i64* %a, i64 %i
   store i64 %i, i64* %scevgep
   br label %bb.backedge
 
diff --git a/polly/test/ScopInfo/ranged_parameter.ll b/polly/test/ScopInfo/ranged_parameter.ll
index 0ef889c..6fccd91 100644
--- a/polly/test/ScopInfo/ranged_parameter.ll
+++ b/polly/test/ScopInfo/ranged_parameter.ll
@@ -26,7 +26,7 @@
 for.body:                                         ; preds = %for.cond
   %add = add i32 %i.0, %tmp
   %idxprom = sext i32 %add to i64
-  %arrayidx = getelementptr inbounds i32* %A, i64 %idxprom
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %idxprom
   store i32 %i.0, i32* %arrayidx, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopInfo/ranged_parameter_wrap.ll b/polly/test/ScopInfo/ranged_parameter_wrap.ll
index ea8ef06..94f30e4 100644
--- a/polly/test/ScopInfo/ranged_parameter_wrap.ll
+++ b/polly/test/ScopInfo/ranged_parameter_wrap.ll
@@ -26,7 +26,7 @@
 for.body:                                         ; preds = %for.cond
   %add = add i32 %i.0, %tmp
   %idxprom = sext i32 %add to i64
-  %arrayidx = getelementptr inbounds i32* %A, i64 %idxprom
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %idxprom
   store i32 %i.0, i32* %arrayidx, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopInfo/reduction_alternating_base.ll b/polly/test/ScopInfo/reduction_alternating_base.ll
index 597d691..2bb5add0 100644
--- a/polly/test/ScopInfo/reduction_alternating_base.ll
+++ b/polly/test/ScopInfo/reduction_alternating_base.ll
@@ -23,7 +23,7 @@
 
 for.body:                                         ; preds = %for.cond
   %rem = srem i32 %i.0, 2
-  %arrayidx = getelementptr inbounds i32* %A, i32 %rem
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %rem
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
   store i32 %add, i32* %arrayidx, align 4
diff --git a/polly/test/ScopInfo/reduction_escaping_intermediate.ll b/polly/test/ScopInfo/reduction_escaping_intermediate.ll
index 545cde9..cc08afe 100644
--- a/polly/test/ScopInfo/reduction_escaping_intermediate.ll
+++ b/polly/test/ScopInfo/reduction_escaping_intermediate.ll
@@ -36,13 +36,13 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %sums, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %sums, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 5
   store i32 %add, i32* %arrayidx, align 4
   %sub = sub nsw i32 %N, %i.0
   %add5 = add nsw i32 %sub, %j.0
-  %arrayidx6 = getelementptr inbounds i32* %escape, i32 %add5
+  %arrayidx6 = getelementptr inbounds i32, i32* %escape, i32 %add5
   store i32 %add, i32* %arrayidx6, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopInfo/reduction_escaping_intermediate_2.ll b/polly/test/ScopInfo/reduction_escaping_intermediate_2.ll
index ea732c0..7bd5e8e 100644
--- a/polly/test/ScopInfo/reduction_escaping_intermediate_2.ll
+++ b/polly/test/ScopInfo/reduction_escaping_intermediate_2.ll
@@ -40,19 +40,19 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %sums, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %sums, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 5
   store i32 %add, i32* %arrayidx, align 4
-  %arrayidx4 = getelementptr inbounds i32* %escape, i32 %i.0
+  %arrayidx4 = getelementptr inbounds i32, i32* %escape, i32 %i.0
   %tmp2 = load i32* %arrayidx4, align 4
   %sub = add nsw i32 %i.0, -1
-  %arrayidx5 = getelementptr inbounds i32* %sums, i32 %sub
+  %arrayidx5 = getelementptr inbounds i32, i32* %sums, i32 %sub
   %tmp3 = load i32* %arrayidx5, align 4
   %add6 = add nsw i32 %tmp2, %tmp3
   %sub7 = sub nsw i32 %N, %i.0
   %add8 = add nsw i32 %sub7, %j.0
-  %arrayidx9 = getelementptr inbounds i32* %escape, i32 %add8
+  %arrayidx9 = getelementptr inbounds i32, i32* %escape, i32 %add8
   store i32 %add6, i32* %arrayidx9, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll b/polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll
index dd3c96e..6b7be71 100644
--- a/polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll
+++ b/polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll
@@ -32,12 +32,12 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %sums, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %sums, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 5
   store i32 %add, i32* %arrayidx, align 4
   %add4 = add nsw i32 %i.0, 10
-  %arrayidx5 = getelementptr inbounds i32* %sums, i32 %add4
+  %arrayidx5 = getelementptr inbounds i32, i32* %sums, i32 %add4
   %tmp2 = load i32* %arrayidx5, align 4
   %mul = mul nsw i32 %tmp2, 5
   store i32 %mul, i32* %arrayidx5, align 4
diff --git a/polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll b/polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
index fa5afb7..e5dc278 100644
--- a/polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
+++ b/polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
@@ -52,7 +52,7 @@
 
 for.body3:                                        ; preds = %for.cond1
   %add = add nsw i32 %i.0, %j.0
-  %arrayidx = getelementptr inbounds i32* %A, i32 %add
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %add
   %tmp2 = load i32* %arrayidx, align 4
   %tmp3 = load i32* %sum, align 4
   %add4 = add nsw i32 %tmp3, %tmp2
diff --git a/polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll b/polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
index 16c345b..7ff0d38 100644
--- a/polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
+++ b/polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
@@ -51,7 +51,7 @@
   %indvars.iv1 = phi i64 [ 0, %for.body ], [ %1, %for.inc ]
   %sum.12.reload = load i32* %sum.12.reg2mem
   %0 = add i64 %indvars.iv23, %indvars.iv1
-  %arrayidx = getelementptr i32* %A, i64 %0
+  %arrayidx = getelementptr i32, i32* %A, i64 %0
   %tmp5 = load i32* %arrayidx, align 4
   %add4 = add nsw i32 %tmp5, %sum.12.reload
   %1 = add nuw nsw i64 %indvars.iv1, 1
diff --git a/polly/test/ScopInfo/reduction_multiple_simple_binary.ll b/polly/test/ScopInfo/reduction_multiple_simple_binary.ll
index 38b8e38..f085d99 100644
--- a/polly/test/ScopInfo/reduction_multiple_simple_binary.ll
+++ b/polly/test/ScopInfo/reduction_multiple_simple_binary.ll
@@ -58,9 +58,9 @@
 
 for.body:                                         ; preds = %for.cond
   %add = add nsw i32 %i1.0, 1
-  %arrayidx = getelementptr inbounds i32* %A, i32 %add
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %add
   %tmp = load i32* %arrayidx, align 4
-  %arrayidx2 = getelementptr inbounds i32* %A, i32 %i1.0
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i32 %i1.0
   %tmp1 = load i32* %arrayidx2, align 4
   %add3 = add nsw i32 %tmp, %tmp1
   store i32 %add3, i32* @first, align 4
@@ -69,9 +69,9 @@
   %add4 = add nsw i32 %tmp2, %mul
   store i32 %add4, i32* @sum, align 4
   %sub = add nsw i32 %i1.0, -1
-  %arrayidx5 = getelementptr inbounds i32* %A, i32 %sub
+  %arrayidx5 = getelementptr inbounds i32, i32* %A, i32 %sub
   %tmp3 = load i32* %arrayidx5, align 4
-  %arrayidx6 = getelementptr inbounds i32* %A, i32 %i1.0
+  %arrayidx6 = getelementptr inbounds i32, i32* %A, i32 %i1.0
   %tmp4 = load i32* %arrayidx6, align 4
   %add7 = add nsw i32 %tmp3, %tmp4
   store i32 %add7, i32* @middle, align 4
@@ -80,10 +80,10 @@
   %mul9 = mul nsw i32 %tmp5, %add8
   store i32 %mul9, i32* @prod, align 4
   %sub10 = add nsw i32 %i1.0, -1
-  %arrayidx11 = getelementptr inbounds i32* %A, i32 %sub10
+  %arrayidx11 = getelementptr inbounds i32, i32* %A, i32 %sub10
   %tmp6 = load i32* %arrayidx11, align 4
   %add12 = add nsw i32 %i1.0, 1
-  %arrayidx13 = getelementptr inbounds i32* %A, i32 %add12
+  %arrayidx13 = getelementptr inbounds i32, i32* %A, i32 %add12
   %tmp7 = load i32* %arrayidx13, align 4
   %add14 = add nsw i32 %tmp6, %tmp7
   store i32 %add14, i32* @last, align 4
diff --git a/polly/test/ScopInfo/reduction_non_overlapping_chains.ll b/polly/test/ScopInfo/reduction_non_overlapping_chains.ll
index 5988424..490035e 100644
--- a/polly/test/ScopInfo/reduction_non_overlapping_chains.ll
+++ b/polly/test/ScopInfo/reduction_non_overlapping_chains.ll
@@ -33,12 +33,12 @@
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %arrayidx = getelementptr inbounds i32* %sums, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %sums, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, 5
   store i32 %add, i32* %arrayidx, align 4
   %add4 = add nsw i32 %i.0, 1024
-  %arrayidx5 = getelementptr inbounds i32* %sums, i32 %add4
+  %arrayidx5 = getelementptr inbounds i32, i32* %sums, i32 %add4
   %tmp2 = load i32* %arrayidx5, align 4
   %mul = mul nsw i32 %tmp2, 5
   store i32 %mul, i32* %arrayidx5, align 4
diff --git a/polly/test/ScopInfo/reduction_only_reduction_like_access.ll b/polly/test/ScopInfo/reduction_only_reduction_like_access.ll
index 315fce4..dd590d22 100644
--- a/polly/test/ScopInfo/reduction_only_reduction_like_access.ll
+++ b/polly/test/ScopInfo/reduction_only_reduction_like_access.ll
@@ -19,10 +19,10 @@
 
 for.body:                                         ; preds = %for.cond
   %sub = sub nsw i32 99, %i.0
-  %arrayidx = getelementptr inbounds i32* %sum, i32 %sub
+  %arrayidx = getelementptr inbounds i32, i32* %sum, i32 %sub
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %i.0
-  %arrayidx1 = getelementptr inbounds i32* %sum, i32 %i.0
+  %arrayidx1 = getelementptr inbounds i32, i32* %sum, i32 %i.0
   store i32 %add, i32* %arrayidx1, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopInfo/reduction_two_identical_reads.ll b/polly/test/ScopInfo/reduction_two_identical_reads.ll
index 23bf78c..9e4bb28 100644
--- a/polly/test/ScopInfo/reduction_two_identical_reads.ll
+++ b/polly/test/ScopInfo/reduction_two_identical_reads.ll
@@ -23,10 +23,10 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
   %add = add nsw i32 %tmp, %tmp
-  %arrayidx2 = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i32 %i.0
   store i32 %add, i32* %arrayidx2, align 4
   br label %for.inc
 
@@ -48,12 +48,12 @@
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmp = load i32* %arrayidx, align 4
-  %arrayidxCopy = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidxCopy = getelementptr inbounds i32, i32* %A, i32 %i.0
   %tmpCopy = load i32* %arrayidxCopy, align 4
   %add = add nsw i32 %tmp, %tmpCopy
-  %arrayidx2 = getelementptr inbounds i32* %A, i32 %i.0
+  %arrayidx2 = getelementptr inbounds i32, i32* %A, i32 %i.0
   store i32 %add, i32* %arrayidx2, align 4
   br label %for.inc
 
diff --git a/polly/test/ScopInfo/run-time-check-many-parameters.ll b/polly/test/ScopInfo/run-time-check-many-parameters.ll
index 5821fde..e12a17f 100644
--- a/polly/test/ScopInfo/run-time-check-many-parameters.ll
+++ b/polly/test/ScopInfo/run-time-check-many-parameters.ll
@@ -73,30 +73,30 @@
 for.body:                                         ; preds = %entry.split, %for.body
   %i.01 = phi i64 [ 0, %entry.split ], [ %tmp25, %for.body ]
   %tmp = add i64 %p1, %i.01
-  %arrayidx = getelementptr float* %B, i64 %tmp
+  %arrayidx = getelementptr float, float* %B, i64 %tmp
   %tmp2 = add i64 %p2, %i.01
-  %arrayidx2 = getelementptr float* %B, i64 %tmp2
+  %arrayidx2 = getelementptr float, float* %B, i64 %tmp2
   %tmp3 = add i64 %p3, %i.01
-  %arrayidx5 = getelementptr float* %B, i64 %tmp3
+  %arrayidx5 = getelementptr float, float* %B, i64 %tmp3
   %tmp4 = add i64 %p4, %i.01
-  %arrayidx8 = getelementptr float* %B, i64 %tmp4
+  %arrayidx8 = getelementptr float, float* %B, i64 %tmp4
   %tmp5 = add i64 %p5, %i.01
-  %arrayidx11 = getelementptr float* %B, i64 %tmp5
+  %arrayidx11 = getelementptr float, float* %B, i64 %tmp5
   %tmp6 = add i64 %p6, %i.01
-  %arrayidx14 = getelementptr float* %B, i64 %tmp6
+  %arrayidx14 = getelementptr float, float* %B, i64 %tmp6
   %tmp7 = add i64 %p7, %i.01
-  %arrayidx17 = getelementptr float* %B, i64 %tmp7
+  %arrayidx17 = getelementptr float, float* %B, i64 %tmp7
   %tmp8 = add i64 %p8, %i.01
-  %arrayidx20 = getelementptr float* %B, i64 %tmp8
+  %arrayidx20 = getelementptr float, float* %B, i64 %tmp8
   %tmp9 = add i64 %p9, %i.01
-  %arrayidx23 = getelementptr float* %B, i64 %tmp9
+  %arrayidx23 = getelementptr float, float* %B, i64 %tmp9
   %tmp10 = add i64 %p10, %i.01
-  %arrayidx26 = getelementptr float* %B, i64 %tmp10
+  %arrayidx26 = getelementptr float, float* %B, i64 %tmp10
   %tmp11 = add i64 %p11, %i.01
-  %arrayidx29 = getelementptr float* %B, i64 %tmp11
+  %arrayidx29 = getelementptr float, float* %B, i64 %tmp11
   %tmp12 = add i64 %p12, %i.01
-  %arrayidx32 = getelementptr float* %B, i64 %tmp12
-  %arrayidx34 = getelementptr float* %A, i64 %i.01
+  %arrayidx32 = getelementptr float, float* %B, i64 %tmp12
+  %arrayidx34 = getelementptr float, float* %A, i64 %i.01
   %tmp13 = load float* %arrayidx, align 4
   %tmp14 = load float* %arrayidx2, align 4
   %add3 = fadd float %tmp13, %tmp14
diff --git a/polly/test/ScopInfo/run-time-check-read-only-arrays.ll b/polly/test/ScopInfo/run-time-check-read-only-arrays.ll
index 05aca45..c44efe9 100644
--- a/polly/test/ScopInfo/run-time-check-read-only-arrays.ll
+++ b/polly/test/ScopInfo/run-time-check-read-only-arrays.ll
@@ -17,9 +17,9 @@
 
 for.body:
   %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.body ]
-  %arrayidx.A = getelementptr float* %A, i64 %indvar
-  %arrayidx.B = getelementptr float* %B, i64 %indvar
-  %arrayidx.C = getelementptr float* %C, i64 %indvar
+  %arrayidx.A = getelementptr float, float* %A, i64 %indvar
+  %arrayidx.B = getelementptr float, float* %B, i64 %indvar
+  %arrayidx.C = getelementptr float, float* %C, i64 %indvar
   %val.A = load float* %arrayidx.A
   %val.B = load float* %arrayidx.B
   %add = fadd float %val.A, %val.B
diff --git a/polly/test/ScopInfo/scalar.ll b/polly/test/ScopInfo/scalar.ll
index 3f750c8..021a572 100644
--- a/polly/test/ScopInfo/scalar.ll
+++ b/polly/test/ScopInfo/scalar.ll
@@ -12,12 +12,12 @@
   br label %S1
 
 S1:
-  %scevgep1 = getelementptr i64* %a, i64 %indvar
+  %scevgep1 = getelementptr i64, i64* %a, i64 %indvar
   %val = load i64* %scevgep1, align 8
   br label %S2
 
 S2:
-  %scevgep2 = getelementptr i64* %a, i64 %indvar
+  %scevgep2 = getelementptr i64, i64* %a, i64 %indvar
   store i64 %val, i64* %scevgep2, align 8
   br label %for.backedge
 
diff --git a/polly/test/ScopInfo/scalar_dependence_cond_br.ll b/polly/test/ScopInfo/scalar_dependence_cond_br.ll
index 1cfbc4b..5a2afe4 100644
--- a/polly/test/ScopInfo/scalar_dependence_cond_br.ll
+++ b/polly/test/ScopInfo/scalar_dependence_cond_br.ll
@@ -29,7 +29,7 @@
   br i1 %cmp1, label %if.then, label %if.end
 
 if.then:                                          ; preds = %for.body
-  %arrayidx = getelementptr inbounds i32* %A, i64 %indvars.iv
+  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
   %tmp = load i32* %arrayidx, align 4
   %inc = add nsw i32 %tmp, 1
   store i32 %inc, i32* %arrayidx, align 4
diff --git a/polly/test/ScopInfo/simple_loop_1.ll b/polly/test/ScopInfo/simple_loop_1.ll
index d4fdb4f..c478573 100644
--- a/polly/test/ScopInfo/simple_loop_1.ll
+++ b/polly/test/ScopInfo/simple_loop_1.ll
@@ -15,7 +15,7 @@
 
 bb:                                               ; preds = %bb, %entry
   %i = phi i64 [ 0, %entry ], [ %i.inc, %bb ]
-  %scevgep = getelementptr i64* %a, i64 %i
+  %scevgep = getelementptr i64, i64* %a, i64 %i
   store i64 %i, i64* %scevgep
   %i.inc = add nsw i64 %i, 1
   %exitcond = icmp eq i64 %i.inc, %N
diff --git a/polly/test/ScopInfo/simple_nonaffine_loop_not.ll b/polly/test/ScopInfo/simple_nonaffine_loop_not.ll
index 6136541..30152d2 100644
--- a/polly/test/ScopInfo/simple_nonaffine_loop_not.ll
+++ b/polly/test/ScopInfo/simple_nonaffine_loop_not.ll
@@ -17,7 +17,7 @@
   %mul = mul i32 %0, 2
   %mul1 = mul nsw i32 %0, %0
   %idxprom1 = zext i32 %mul1 to i64
-  %arrayidx = getelementptr inbounds [1048576 x i32]* %A, i64 0, i64 %idxprom1
+  %arrayidx = getelementptr inbounds [1048576 x i32], [1048576 x i32]* %A, i64 0, i64 %idxprom1
   store i32 %mul, i32* %arrayidx, align 4
   %1 = add nsw i32 %0, 1
   %exitcond = icmp ne i32 %1, 1024
@@ -28,7 +28,7 @@
   %rem = srem i32 %call, 1024
   %mul2 = shl nsw i32 %rem, 10
   %idxprom3 = sext i32 %mul2 to i64
-  %arrayidx4 = getelementptr inbounds [1048576 x i32]* %A, i64 0, i64 %idxprom3
+  %arrayidx4 = getelementptr inbounds [1048576 x i32], [1048576 x i32]* %A, i64 0, i64 %idxprom3
   %2 = load i32* %arrayidx4, align 16
   %call5 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([17 x i8]* @.str, i64 0, i64 0), i32 %2) nounwind
   ret i32 0
diff --git a/polly/test/ScopInfo/smax.ll b/polly/test/ScopInfo/smax.ll
index 746c578..b8ced65 100644
--- a/polly/test/ScopInfo/smax.ll
+++ b/polly/test/ScopInfo/smax.ll
@@ -11,7 +11,7 @@
   %add = add nsw i32 %x, %x_pos
   %cmp1 = icmp sgt i32 %add, %w
   %cond = select i1 %cmp1, i32 %w, i32 %add
-  %arrayidx = getelementptr inbounds i32* %ptr, i32 %cond
+  %arrayidx = getelementptr inbounds i32, i32* %ptr, i32 %cond
   store i32 1, i32* %arrayidx
   %x.inc = add nsw i32 %x, 1
   %cmp = icmp slt i32 %x.inc, 2
diff --git a/polly/test/ScopInfo/unsigned-condition.ll b/polly/test/ScopInfo/unsigned-condition.ll
index 2a975d52..a595fbc 100644
--- a/polly/test/ScopInfo/unsigned-condition.ll
+++ b/polly/test/ScopInfo/unsigned-condition.ll
@@ -20,7 +20,7 @@
   br i1 %brcond, label %store, label %bb.backedge
 
 store:
-  %scevgep = getelementptr i64* %a, i64 %i
+  %scevgep = getelementptr i64, i64* %a, i64 %i
   store i64 %i, i64* %scevgep
   br label %bb.backedge
 
diff --git a/polly/test/TempScop/inter_bb_scalar_dep.ll b/polly/test/TempScop/inter_bb_scalar_dep.ll
index 7ec6ee9..f945661 100644
--- a/polly/test/TempScop/inter_bb_scalar_dep.ll
+++ b/polly/test/TempScop/inter_bb_scalar_dep.ll
@@ -37,7 +37,7 @@
   %init_plus_two = add i64 %init, 2
 ; CHECK: Read init[0]
 ; CHECK: Write A[{0,+,8}<%for.j>]
-  %scevgep = getelementptr i64* %A, i64 %indvar.j
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %init_plus_two, i64* %scevgep
   %indvar.j.next = add nsw i64 %indvar.j, 1
   %exitcond.j = icmp eq i64 %indvar.j.next, %N
diff --git a/polly/test/TempScop/intra_and_inter_bb_scalar_dep.ll b/polly/test/TempScop/intra_and_inter_bb_scalar_dep.ll
index 7c88c96..90c4d98 100644
--- a/polly/test/TempScop/intra_and_inter_bb_scalar_dep.ll
+++ b/polly/test/TempScop/intra_and_inter_bb_scalar_dep.ll
@@ -41,7 +41,7 @@
 ; CHECK: Read init[0]
 ; CHECK: Read init_ptr[0]
 ; CHECK: Write A[{0,+,8}<%for.j>]
-  %scevgep = getelementptr i64* %A, i64 %indvar.j
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %init_sum, i64* %scevgep
   %indvar.j.next = add nsw i64 %indvar.j, 1
   %exitcond.j = icmp eq i64 %indvar.j.next, %N
diff --git a/polly/test/TempScop/intra_bb_scalar_dep.ll b/polly/test/TempScop/intra_bb_scalar_dep.ll
index 8a43569..076b220 100644
--- a/polly/test/TempScop/intra_bb_scalar_dep.ll
+++ b/polly/test/TempScop/intra_bb_scalar_dep.ll
@@ -32,7 +32,7 @@
   %indvar.j = phi i64 [ 0, %entry.next ], [ %indvar.j.next, %for.j ]
   %init = load i64* %init_ptr
   %init_plus_two = add i64 %init, 2
-  %scevgep = getelementptr i64* %A, i64 %indvar.j
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %init_plus_two, i64* %scevgep
 ; CHECK: BB: for.j
 ; CHECK: Read init_ptr[0]
diff --git a/polly/test/TempScop/nested-loops.ll b/polly/test/TempScop/nested-loops.ll
index e004815..fefae9d 100644
--- a/polly/test/TempScop/nested-loops.ll
+++ b/polly/test/TempScop/nested-loops.ll
@@ -20,7 +20,7 @@
   br i1 %exitcond.j, label %body, label %for.i
 
 body:
-  %scevgep = getelementptr i64* %a, i64 %j
+  %scevgep = getelementptr i64, i64* %a, i64 %j
   store i64 %j, i64* %scevgep
   br label %for.j
 
diff --git a/polly/test/TempScop/not-a-reduction.ll b/polly/test/TempScop/not-a-reduction.ll
index ea490ef..6005d54 100644
--- a/polly/test/TempScop/not-a-reduction.ll
+++ b/polly/test/TempScop/not-a-reduction.ll
@@ -27,9 +27,9 @@
 
 bb3:                                              ; preds = %bb7, %bb
   %indvar = phi i64 [ %indvar.next, %bb7 ], [ 0, %bb ]
-  %scevgep = getelementptr [4 x float]* @A, i64 0, i64 %indvar
-  %scevgep1 = getelementptr [4 x float]* @C, i64 0, i64 %indvar
-  %scevgep2 = getelementptr [4 x float]* @B, i64 0, i64 %indvar
+  %scevgep = getelementptr [4 x float], [4 x float]* @A, i64 0, i64 %indvar
+  %scevgep1 = getelementptr [4 x float], [4 x float]* @C, i64 0, i64 %indvar
+  %scevgep2 = getelementptr [4 x float], [4 x float]* @B, i64 0, i64 %indvar
   %exitcond = icmp ne i64 %indvar, 4
   br i1 %exitcond, label %bb4, label %bb8
 
diff --git a/polly/test/TempScop/scalar_to_array.ll b/polly/test/TempScop/scalar_to_array.ll
index c61b34b..e292536 100644
--- a/polly/test/TempScop/scalar_to_array.ll
+++ b/polly/test/TempScop/scalar_to_array.ll
@@ -44,7 +44,7 @@
   br i1 %exitcond, label %for.body, label %return
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %float = uitofp i64 %indvar to float
   store float %float, float* %arrayidx
   br label %for.inc
@@ -74,7 +74,7 @@
   br i1 %exitcond, label %for.body.a, label %return
 
 for.body.a:                                       ; preds = %for.cond
-  %arrayidx = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %scalar = load float* %arrayidx
   br label %for.body.b
 ; CHECK: BB: for.body.a
@@ -82,7 +82,7 @@
 ; CHECK: Write scalar[0]
 
 for.body.b:                                       ; preds = %for.body.a
-  %arrayidx2 = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %arrayidx2 = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %float = uitofp i64 %indvar to float
   %sum = fadd float %scalar, %float
   store float %sum, float* %arrayidx2
@@ -119,7 +119,7 @@
   br label %for.body
 
 for.body:                                         ; preds = %for.head
-  %arrayidx = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   %scalar = load float* %arrayidx
   store float %scalar, float* %scalar.s2a
 ; Escaped uses are still required to be rewritten to stack variable.
@@ -168,7 +168,7 @@
   br i1 %exitcond, label %for.body, label %return
 
 for.body:                                         ; preds = %for.cond
-  %arrayidx = getelementptr [1024 x float]* @A, i64 0, i64 %indvar
+  %arrayidx = getelementptr [1024 x float], [1024 x float]* @A, i64 0, i64 %indvar
   store float %scalar, float* %arrayidx
   br label %for.inc
 ; CHECK: BB: for.body
diff --git a/polly/test/TempScop/tempscop-printing.ll b/polly/test/TempScop/tempscop-printing.ll
index 752ab9d..cd78b40 100644
--- a/polly/test/TempScop/tempscop-printing.ll
+++ b/polly/test/TempScop/tempscop-printing.ll
@@ -44,7 +44,7 @@
 ; SCALARACCESS: Read init
 ; SCALARACCESS: Write A[{0,+,8}<%for.j>]
   %init_plus_two = add i64 %init, 2
-  %scevgep = getelementptr i64* %A, i64 %indvar.j
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %init_plus_two, i64* %scevgep
   %indvar.j.next = add nsw i64 %indvar.j, 1
   %exitcond.j = icmp eq i64 %indvar.j.next, %N
@@ -77,7 +77,7 @@
 for.j:
 ; SCALARACCESS: BB: for.j
   %indvar.j = phi i64 [ 0, %entry.next ], [ %indvar.j.next, %for.j ]
-  %scevgep = getelementptr i64* %A, i64 %indvar.j
+  %scevgep = getelementptr i64, i64* %A, i64 %indvar.j
   store i64 %init, i64* %scevgep
 ; SCALARACCESS: Read init
 ; SCALARACCESS: Write A[{0,+,8}<%for.j>]