Update Polly tests to handle explicitly typed gep changes in LLVM

llvm-svn: 230784
This commit is contained in:
David Blaikie 2015-02-27 19:20:19 +00:00
parent 218b783192
commit bad3ff207f
296 changed files with 758 additions and 758 deletions

View File

@ -20,7 +20,7 @@ entry:
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

View File

@ -30,7 +30,7 @@ for.inc: ; preds = %for.body, %for.inc
%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

View File

@ -24,7 +24,7 @@ for.inc.lr.ph: ; preds = %entry
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

View File

@ -18,7 +18,7 @@ entry:
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 @@ exit.1:
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 @@ exit.2:
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

View File

@ -19,7 +19,7 @@ entry:
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 @@ exit.1:
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 @@ exit.2:
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

View File

@ -19,7 +19,7 @@ entry:
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 @@ exit.1:
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 @@ exit.2:
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

View File

@ -21,7 +21,7 @@ entry:
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 @@ exit.1:
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 @@ exit.2:
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 @@ for.body.4:
%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

View File

@ -29,7 +29,7 @@ for.cond:
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 @@ for.cond.2:
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

View File

@ -20,7 +20,7 @@ for.cond: ; preds = %for.inc, %entry
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

View File

@ -15,7 +15,7 @@ entry:
%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 @@ for.body.1:
%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 @@ exit.1:
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

View File

@ -19,7 +19,7 @@ entry:
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 @@ exit.1:
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 @@ exit.2:
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

View File

@ -22,13 +22,13 @@ do.body: ; preds = %do.cond42, %entry
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]

View File

@ -37,7 +37,7 @@ for.body3: ; preds = %for.cond1
%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

View File

@ -33,20 +33,20 @@ for.cond: ; preds = %for.inc, %entry
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

View File

@ -35,11 +35,11 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -39,7 +39,7 @@ for.cond1: ; preds = %for.inc8, %for.body
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

View File

@ -41,7 +41,7 @@ for.cond1: ; preds = %for.inc8, %for.body
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

View File

@ -49,7 +49,7 @@ for.inc: ; preds = %for.inc, %for.body
%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

View File

@ -28,10 +28,10 @@ for.cond: ; preds = %for.inc, %entry
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

View File

@ -32,7 +32,7 @@ for.cond1: ; preds = %for.inc, %for.body
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 @@ for.body3: ; preds = %for.cond1
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

View File

@ -36,7 +36,7 @@ for.body: ; preds = %for.cond
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 @@ for.body7: ; preds = %for.cond5
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 @@ for.body19: ; preds = %for.cond17
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

View File

@ -40,7 +40,7 @@ for.body: ; preds = %for.cond
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 @@ for.body4: ; preds = %for.cond2
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 @@ for.end: ; preds = %for.cond2
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

View File

@ -40,7 +40,7 @@ for.body: ; preds = %for.cond
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 @@ for.body4: ; preds = %for.cond2
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 @@ for.end: ; preds = %for.cond2
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

View File

@ -39,7 +39,7 @@ for.body: ; preds = %for.cond
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 @@ for.body3: ; preds = %for.cond1
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 @@ for.end: ; preds = %for.cond1
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

View File

@ -43,7 +43,7 @@ for.body3: ; preds = %for.cond1
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 @@ for.body6: ; preds = %for.cond4
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

View File

@ -40,17 +40,17 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -19,7 +19,7 @@ entry:
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 @@ exit.1:
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 @@ exit.2:
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 @@ entry:
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 @@ exit.1:
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 @@ exit.2:
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 @@ entry:
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 @@ exit.1:
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 @@ exit.2:
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 @@ entry:
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 @@ exit.1:
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

View File

@ -43,7 +43,7 @@ for.j:
; 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

View File

@ -52,7 +52,7 @@ for.j:
; 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

View File

@ -39,7 +39,7 @@ for.j:
; 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

View File

@ -47,7 +47,7 @@ for.cond:
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 @@ for.cond:
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 @@ for.body.b:
; 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 @@ for.head:
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 @@ for.cond:
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 @@ for.cond:
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

View File

@ -21,7 +21,7 @@ for.cond: ; preds = %for.inc, %entry
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 @@ for.cond2: ; preds = %for.inc9, %for.end
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

View File

@ -23,7 +23,7 @@ loop.j:
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

View File

@ -24,7 +24,7 @@ loop.j:
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

View File

@ -23,7 +23,7 @@ loop.j:
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

View File

@ -23,7 +23,7 @@ loop.j:
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

View File

@ -13,7 +13,7 @@ start:
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

View File

@ -13,7 +13,7 @@ start:
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

View File

@ -13,7 +13,7 @@ start:
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

View File

@ -32,10 +32,10 @@ for.body.preheader: ; preds = %entry
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

View File

@ -33,9 +33,9 @@ for.body.preheader: ; preds = %entry
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

View File

@ -33,10 +33,10 @@ for.body.preheader: ; preds = %entry
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

View File

@ -29,13 +29,13 @@ entry:
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

View File

@ -24,9 +24,9 @@ for.cond: ; preds = %for.inc, %entry
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

View File

@ -25,12 +25,12 @@ for.cond: ; preds = %for.inc, %entry
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

View File

@ -28,11 +28,11 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -20,17 +20,17 @@ for.cond: ; preds = %for.inc, %entry
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

View File

@ -28,11 +28,11 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -28,12 +28,12 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -19,10 +19,10 @@ for.cond: ; preds = %for.inc, %entry
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

View File

@ -28,12 +28,12 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -26,38 +26,38 @@ for.cond: ; preds = %for.inc, %entry
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

View File

@ -39,7 +39,7 @@ for.cond4: ; preds = %for.inc, %for.body3
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

View File

@ -28,7 +28,7 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -28,20 +28,20 @@ for.cond: ; preds = %for.inc, %entry
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

View File

@ -35,7 +35,7 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -52,7 +52,7 @@ for.body5: ; preds = %for.cond2
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

View File

@ -55,7 +55,7 @@ for.body5: ; preds = %for.cond2
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

View File

@ -62,7 +62,7 @@ for.body5: ; preds = %for.cond2
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

View File

@ -55,7 +55,7 @@ for.body5: ; preds = %for.cond2
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

View File

@ -34,7 +34,7 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -36,7 +36,7 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -36,7 +36,7 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -40,7 +40,7 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -43,7 +43,7 @@ for.cond1: ; preds = %for.inc, %for.body
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

View File

@ -43,7 +43,7 @@ for.cond4: ; preds = %for.inc, %for.body3
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

View File

@ -43,7 +43,7 @@ for.cond4: ; preds = %for.inc, %for.body3
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

View File

@ -43,7 +43,7 @@ for.cond4: ; preds = %for.inc, %for.body3
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

View File

@ -43,7 +43,7 @@ for.cond4: ; preds = %for.inc, %for.body3
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

View File

@ -16,10 +16,10 @@ for.cond: ; preds = %for.body, %entry
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

View File

@ -54,7 +54,7 @@ for.j:
%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 @@ for.j.1:
%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

View File

@ -17,10 +17,10 @@ for.cond: ; preds = %for.body, %entry
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

View File

@ -37,44 +37,44 @@ bb32: ; preds = %bb27
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

View File

@ -26,7 +26,7 @@ bb5: ; preds = %bb4
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

View File

@ -11,11 +11,11 @@ bb: ; preds = %bb4
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

View File

@ -37,7 +37,7 @@ define i32 @main() nounwind {
; <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 @@ define i32 @main() nounwind {
; <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
}

View File

@ -14,7 +14,7 @@ bb20: ; preds = %bb34
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 @@ bb23: ; preds = %bb21, %bb20
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

View File

@ -9,7 +9,7 @@ bb20:
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

View File

@ -18,7 +18,7 @@ for.cond: ; preds = %for.body, %entry
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

View File

@ -16,7 +16,7 @@ entry:
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

View File

@ -43,7 +43,7 @@ for.body3: ; preds = %for.cond1
%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

View File

@ -21,7 +21,7 @@ loop.header:
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.header:
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

View File

@ -22,7 +22,7 @@ for.cond: ; preds = %for.inc, %entry
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

View File

@ -21,8 +21,8 @@ entry:
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

View File

@ -21,8 +21,8 @@ entry:
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

View File

@ -19,8 +19,8 @@ entry:
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

View File

@ -38,7 +38,7 @@ for.cond1: ; preds = %for.inc, %for.body
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 @@ for.end6: ; preds = %for.cond
; 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 @@ for.end6: ; preds = %for.cond
; 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]]

View File

@ -34,7 +34,7 @@ for.cond1: ; preds = %for.inc, %for.body
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 @@ for.end6: ; preds = %for.cond
; 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 @@ for.end6: ; preds = %for.cond
; 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]]

View File

@ -25,10 +25,10 @@ for.cond: ; preds = %for.inc, %entry
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

View File

@ -31,7 +31,7 @@ entry:
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.end: ; preds = %for.cond
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

View File

@ -11,7 +11,7 @@ entry:
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.end: ; preds = %for.cond
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

View File

@ -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.cond: ; preds = %for.inc, %entry
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

View File

@ -27,7 +27,7 @@ for.i:
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

View File

@ -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.cond1.preheader:
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

View File

@ -24,9 +24,9 @@ entry:
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 @@ end:
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

View File

@ -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.cond: ; preds = %for.inc, %entry
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

View File

@ -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 @@ for.body6: ; preds = %for.cond4
%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

View File

@ -16,7 +16,7 @@ sw.bb3:
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

View File

@ -37,7 +37,7 @@ for.one:
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

View File

@ -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 @@ entry:
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

Some files were not shown because too many files have changed in this diff Show More