diff options
Diffstat (limited to 'test/Analysis/Delinearization')
14 files changed, 76 insertions, 76 deletions
diff --git a/test/Analysis/Delinearization/a.ll b/test/Analysis/Delinearization/a.ll index efebcc4..78bbfcf 100644 --- a/test/Analysis/Delinearization/a.ll +++ b/test/Analysis/Delinearization/a.ll @@ -9,7 +9,7 @@ ; AddRec: {{{(28 + (4 * (-4 + (3 * %m)) * %o) + %A),+,(8 * %m * %o)}<%for.i>,+,(12 * %o)}<%for.j>,+,20}<%for.k> ; CHECK: Base offset: %A -; CHECK: ArrayDecl[UnknownSize][%m][%o] with elements of sizeof(i32) bytes. +; CHECK: ArrayDecl[UnknownSize][%m][%o] with elements of 4 bytes. ; CHECK: ArrayRef[{3,+,2}<%for.i>][{-4,+,3}<%for.j>][{7,+,5}<%for.k>] define void @foo(i64 %n, i64 %m, i64 %o, i32* nocapture %A) #0 { @@ -52,7 +52,7 @@ for.k: ; preds = %for.k, %for.j %mul.us.us = mul nsw i64 %k.029.us.us, 5 %arrayidx.sum.us.us = add i64 %mul.us.us, 7 %arrayidx10.sum.us.us = add i64 %arrayidx.sum.us.us, %tmp27.us.us - %arrayidx11.us.us = getelementptr inbounds i32* %A, i64 %arrayidx10.sum.us.us + %arrayidx11.us.us = getelementptr inbounds i32, i32* %A, i64 %arrayidx10.sum.us.us store i32 1, i32* %arrayidx11.us.us, align 4 %inc.us.us = add nsw i64 %k.029.us.us, 1 %exitcond = icmp eq i64 %inc.us.us, %o diff --git a/test/Analysis/Delinearization/gcd_multiply_expr.ll b/test/Analysis/Delinearization/gcd_multiply_expr.ll index f962f6d..c30a672 100644 --- a/test/Analysis/Delinearization/gcd_multiply_expr.ll +++ b/test/Analysis/Delinearization/gcd_multiply_expr.ll @@ -27,7 +27,7 @@ define i32 @fn2() { entry: - %.pr = load i32* @d, align 4 + %.pr = load i32, i32* @d, align 4 %phitmp = icmp eq i32 %.pr, 0 br label %for.cond @@ -36,11 +36,11 @@ for.cond: br i1 %0, label %for.cond, label %for.cond2thread-pre-split.preheader.i for.cond2thread-pre-split.preheader.i: - %1 = load i32* @g, align 4 - %2 = load i32* @h, align 4 + %1 = load i32, i32* @g, align 4 + %2 = load i32, i32* @h, align 4 %mul = mul nsw i32 %2, %1 - %3 = load i8** @f, align 4 - %.pr.pre.i = load i32* @b, align 4 + %3 = load i8*, i8** @f, align 4 + %.pr.pre.i = load i32, i32* @b, align 4 br label %for.cond2thread-pre-split.i for.cond2thread-pre-split.i: @@ -64,57 +64,57 @@ for.body4.i.preheader: for.body4.i: %8 = phi i32 [ %inc.7.i, %for.body4.i ], [ %.pr.i, %for.body4.i.preheader ] %arrayidx.sum1 = add i32 %add.i, %8 - %arrayidx.i = getelementptr inbounds i8* %3, i32 %arrayidx.sum1 - %9 = load i8* %arrayidx.i, align 1 + %arrayidx.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum1 + %9 = load i8, i8* %arrayidx.i, align 1 %conv.i = sext i8 %9 to i32 store i32 %conv.i, i32* @c, align 4 %inc.i = add nsw i32 %8, 1 store i32 %inc.i, i32* @b, align 4 %arrayidx.sum2 = add i32 %add.i, %inc.i - %arrayidx.1.i = getelementptr inbounds i8* %3, i32 %arrayidx.sum2 - %10 = load i8* %arrayidx.1.i, align 1 + %arrayidx.1.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum2 + %10 = load i8, i8* %arrayidx.1.i, align 1 %conv.1.i = sext i8 %10 to i32 store i32 %conv.1.i, i32* @c, align 4 %inc.1.i = add nsw i32 %8, 2 store i32 %inc.1.i, i32* @b, align 4 %arrayidx.sum3 = add i32 %add.i, %inc.1.i - %arrayidx.2.i = getelementptr inbounds i8* %3, i32 %arrayidx.sum3 - %11 = load i8* %arrayidx.2.i, align 1 + %arrayidx.2.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum3 + %11 = load i8, i8* %arrayidx.2.i, align 1 %conv.2.i = sext i8 %11 to i32 store i32 %conv.2.i, i32* @c, align 4 %inc.2.i = add nsw i32 %8, 3 store i32 %inc.2.i, i32* @b, align 4 %arrayidx.sum4 = add i32 %add.i, %inc.2.i - %arrayidx.3.i = getelementptr inbounds i8* %3, i32 %arrayidx.sum4 - %12 = load i8* %arrayidx.3.i, align 1 + %arrayidx.3.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum4 + %12 = load i8, i8* %arrayidx.3.i, align 1 %conv.3.i = sext i8 %12 to i32 store i32 %conv.3.i, i32* @c, align 4 %inc.3.i = add nsw i32 %8, 4 store i32 %inc.3.i, i32* @b, align 4 %arrayidx.sum5 = add i32 %add.i, %inc.3.i - %arrayidx.4.i = getelementptr inbounds i8* %3, i32 %arrayidx.sum5 - %13 = load i8* %arrayidx.4.i, align 1 + %arrayidx.4.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum5 + %13 = load i8, i8* %arrayidx.4.i, align 1 %conv.4.i = sext i8 %13 to i32 store i32 %conv.4.i, i32* @c, align 4 %inc.4.i = add nsw i32 %8, 5 store i32 %inc.4.i, i32* @b, align 4 %arrayidx.sum6 = add i32 %add.i, %inc.4.i - %arrayidx.5.i = getelementptr inbounds i8* %3, i32 %arrayidx.sum6 - %14 = load i8* %arrayidx.5.i, align 1 + %arrayidx.5.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum6 + %14 = load i8, i8* %arrayidx.5.i, align 1 %conv.5.i = sext i8 %14 to i32 store i32 %conv.5.i, i32* @c, align 4 %inc.5.i = add nsw i32 %8, 6 store i32 %inc.5.i, i32* @b, align 4 %arrayidx.sum7 = add i32 %add.i, %inc.5.i - %arrayidx.6.i = getelementptr inbounds i8* %3, i32 %arrayidx.sum7 - %15 = load i8* %arrayidx.6.i, align 1 + %arrayidx.6.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum7 + %15 = load i8, i8* %arrayidx.6.i, align 1 %conv.6.i = sext i8 %15 to i32 store i32 %conv.6.i, i32* @c, align 4 %inc.6.i = add nsw i32 %8, 7 store i32 %inc.6.i, i32* @b, align 4 %arrayidx.sum8 = add i32 %add.i, %inc.6.i - %arrayidx.7.i = getelementptr inbounds i8* %3, i32 %arrayidx.sum8 - %16 = load i8* %arrayidx.7.i, align 1 + %arrayidx.7.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum8 + %16 = load i8, i8* %arrayidx.7.i, align 1 %conv.7.i = sext i8 %16 to i32 store i32 %conv.7.i, i32* @c, align 4 %inc.7.i = add nsw i32 %8, 8 @@ -135,8 +135,8 @@ for.body4.ur.i.preheader: for.body4.ur.i: %20 = phi i32 [ %inc.ur.i, %for.body4.ur.i ], [ %.ph, %for.body4.ur.i.preheader ] %arrayidx.sum = add i32 %add.i, %20 - %arrayidx.ur.i = getelementptr inbounds i8* %3, i32 %arrayidx.sum - %21 = load i8* %arrayidx.ur.i, align 1 + %arrayidx.ur.i = getelementptr inbounds i8, i8* %3, i32 %arrayidx.sum + %21 = load i8, i8* %arrayidx.ur.i, align 1 %conv.ur.i = sext i8 %21 to i32 store i32 %conv.ur.i, i32* @c, align 4 %inc.ur.i = add nsw i32 %20, 1 diff --git a/test/Analysis/Delinearization/himeno_1.ll b/test/Analysis/Delinearization/himeno_1.ll index c94ca7a..5c86f57 100644 --- a/test/Analysis/Delinearization/himeno_1.ll +++ b/test/Analysis/Delinearization/himeno_1.ll @@ -28,31 +28,31 @@ ; AddRec: {{{(4 + (4 * (sext i32 %a.deps to i64) * (1 + (sext i32 %a.cols to i64))) + %a.base),+,(4 * (sext i32 %a.deps to i64) * (sext i32 %a.cols to i64))}<%for.i>,+,(4 * (sext i32 %a.deps to i64))}<%for.j>,+,4}<%for.k> ; CHECK: Base offset: %a.base -; CHECK: ArrayDecl[UnknownSize][(sext i32 %a.cols to i64)][(sext i32 %a.deps to i64)] with elements of sizeof(float) bytes. +; CHECK: ArrayDecl[UnknownSize][(sext i32 %a.cols to i64)][(sext i32 %a.deps to i64)] with elements of 4 bytes. ; CHECK: ArrayRef[{1,+,1}<nuw><nsw><%for.i>][{1,+,1}<nuw><nsw><%for.j>][{1,+,1}<nuw><nsw><%for.k>] %struct.Mat = type { float*, i32, i32, i32, i32 } define void @jacobi(i32 %nn, %struct.Mat* nocapture %a, %struct.Mat* nocapture %p) nounwind uwtable { entry: - %p.rows.ptr = getelementptr inbounds %struct.Mat* %p, i64 0, i32 2 - %p.rows = load i32* %p.rows.ptr + %p.rows.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 2 + %p.rows = load i32, i32* %p.rows.ptr %p.rows.sub = add i32 %p.rows, -1 %p.rows.sext = sext i32 %p.rows.sub to i64 - %p.cols.ptr = getelementptr inbounds %struct.Mat* %p, i64 0, i32 3 - %p.cols = load i32* %p.cols.ptr + %p.cols.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 3 + %p.cols = load i32, i32* %p.cols.ptr %p.cols.sub = add i32 %p.cols, -1 %p.cols.sext = sext i32 %p.cols.sub to i64 - %p.deps.ptr = getelementptr inbounds %struct.Mat* %p, i64 0, i32 4 - %p.deps = load i32* %p.deps.ptr + %p.deps.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 4 + %p.deps = load i32, i32* %p.deps.ptr %p.deps.sub = add i32 %p.deps, -1 %p.deps.sext = sext i32 %p.deps.sub to i64 - %a.cols.ptr = getelementptr inbounds %struct.Mat* %a, i64 0, i32 3 - %a.cols = load i32* %a.cols.ptr - %a.deps.ptr = getelementptr inbounds %struct.Mat* %a, i64 0, i32 4 - %a.deps = load i32* %a.deps.ptr - %a.base.ptr = getelementptr inbounds %struct.Mat* %a, i64 0, i32 0 - %a.base = load float** %a.base.ptr, align 8 + %a.cols.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 3 + %a.cols = load i32, i32* %a.cols.ptr + %a.deps.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 4 + %a.deps = load i32, i32* %a.deps.ptr + %a.base.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 0 + %a.base = load float*, float** %a.base.ptr, align 8 br label %for.i for.i: ; preds = %for.i.inc, %entry @@ -71,7 +71,7 @@ for.k: ; preds = %for.k, %for.j %tmp2 = add i64 %tmp1, %j %tmp3 = mul i64 %tmp2, %a.deps.sext %tmp4 = add nsw i64 %k, %tmp3 - %arrayidx = getelementptr inbounds float* %a.base, i64 %tmp4 + %arrayidx = getelementptr inbounds float, float* %a.base, i64 %tmp4 store float 1.000000e+00, float* %arrayidx %k.inc = add nsw i64 %k, 1 %k.exitcond = icmp eq i64 %k.inc, %p.deps.sext diff --git a/test/Analysis/Delinearization/himeno_2.ll b/test/Analysis/Delinearization/himeno_2.ll index c256384..e1e7560 100644 --- a/test/Analysis/Delinearization/himeno_2.ll +++ b/test/Analysis/Delinearization/himeno_2.ll @@ -28,33 +28,33 @@ ; AddRec: {{{(4 + (4 * (sext i32 %a.deps to i64) * (1 + (sext i32 %a.cols to i64))) + %a.base),+,(4 * (sext i32 %a.deps to i64) * (sext i32 %a.cols to i64))}<%for.i>,+,(4 * (sext i32 %a.deps to i64))}<%for.j>,+,4}<%for.k> ; CHECK: Base offset: %a.base -; CHECK: ArrayDecl[UnknownSize][(sext i32 %a.cols to i64)][(sext i32 %a.deps to i64)] with elements of sizeof(float) bytes. +; CHECK: ArrayDecl[UnknownSize][(sext i32 %a.cols to i64)][(sext i32 %a.deps to i64)] with elements of 4 bytes. ; CHECK: ArrayRef[{1,+,1}<nuw><nsw><%for.i>][{1,+,1}<nuw><nsw><%for.j>][{1,+,1}<nuw><nsw><%for.k>] %struct.Mat = type { float*, i32, i32, i32, i32 } define void @jacobi(i32 %nn, %struct.Mat* nocapture %a, %struct.Mat* nocapture %p) nounwind uwtable { entry: - %p.rows.ptr = getelementptr inbounds %struct.Mat* %p, i64 0, i32 2 - %p.rows = load i32* %p.rows.ptr + %p.rows.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 2 + %p.rows = load i32, i32* %p.rows.ptr %p.rows.sub = add i32 %p.rows, -1 %p.rows.sext = sext i32 %p.rows.sub to i64 - %p.cols.ptr = getelementptr inbounds %struct.Mat* %p, i64 0, i32 3 - %p.cols = load i32* %p.cols.ptr + %p.cols.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 3 + %p.cols = load i32, i32* %p.cols.ptr %p.cols.sub = add i32 %p.cols, -1 %p.cols.sext = sext i32 %p.cols.sub to i64 - %p.deps.ptr = getelementptr inbounds %struct.Mat* %p, i64 0, i32 4 - %p.deps = load i32* %p.deps.ptr + %p.deps.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %p, i64 0, i32 4 + %p.deps = load i32, i32* %p.deps.ptr %p.deps.sub = add i32 %p.deps, -1 %p.deps.sext = sext i32 %p.deps.sub to i64 - %a.cols.ptr = getelementptr inbounds %struct.Mat* %a, i64 0, i32 3 - %a.cols = load i32* %a.cols.ptr + %a.cols.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 3 + %a.cols = load i32, i32* %a.cols.ptr %a.cols.sext = sext i32 %a.cols to i64 - %a.deps.ptr = getelementptr inbounds %struct.Mat* %a, i64 0, i32 4 - %a.deps = load i32* %a.deps.ptr + %a.deps.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 4 + %a.deps = load i32, i32* %a.deps.ptr %a.deps.sext = sext i32 %a.deps to i64 - %a.base.ptr = getelementptr inbounds %struct.Mat* %a, i64 0, i32 0 - %a.base = load float** %a.base.ptr, align 8 + %a.base.ptr = getelementptr inbounds %struct.Mat, %struct.Mat* %a, i64 0, i32 0 + %a.base = load float*, float** %a.base.ptr, align 8 br label %for.i for.i: ; preds = %for.i.inc, %entry @@ -71,7 +71,7 @@ for.k: ; preds = %for.k, %for.j %tmp2 = add i64 %tmp1, %j %tmp3 = mul i64 %tmp2, %a.deps.sext %tmp4 = add nsw i64 %k, %tmp3 - %arrayidx = getelementptr inbounds float* %a.base, i64 %tmp4 + %arrayidx = getelementptr inbounds float, float* %a.base, i64 %tmp4 store float 1.000000e+00, float* %arrayidx %k.inc = add nsw i64 %k, 1 %k.exitcond = icmp eq i64 %k.inc, %p.deps.sext diff --git a/test/Analysis/Delinearization/iv_times_constant_in_subscript.ll b/test/Analysis/Delinearization/iv_times_constant_in_subscript.ll index 01a4b96..0c893bf 100644 --- a/test/Analysis/Delinearization/iv_times_constant_in_subscript.ll +++ b/test/Analysis/Delinearization/iv_times_constant_in_subscript.ll @@ -8,9 +8,9 @@ ; A[2i+b][2j] = 1.0; ; } -; AddRec: {{((%m * %b * sizeof(double)) + %A),+,(2 * %m * sizeof(double))}<%for.i>,+,(2 * sizeof(double))}<%for.j> +; AddRec: {{((%m * %b * 8) + %A),+,(2 * %m * 8)}<%for.i>,+,(2 * 8)}<%for.j> ; CHECK: Base offset: %A -; CHECK: ArrayDecl[UnknownSize][%m] with elements of sizeof(double) bytes. +; CHECK: ArrayDecl[UnknownSize][%m] with elements of 8 bytes. ; CHECK: ArrayRef[{%b,+,2}<%for.i>][{0,+,2}<%for.j>] @@ -29,7 +29,7 @@ for.j: %j = phi i64 [ 0, %for.i ], [ %j.inc, %for.j ] %prodj = mul i64 %j, 2 %vlaarrayidx.sum = add i64 %prodj, %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/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_3d.ll b/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_3d.ll index ae80ebc..317e62c 100644 --- a/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_3d.ll +++ b/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_3d.ll @@ -10,7 +10,7 @@ ; AddRec: {{{(56 + (8 * (-4 + (3 * %m)) * %o) + %A),+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.j>,+,8}<%for.k> ; CHECK: Base offset: %A -; CHECK: ArrayDecl[UnknownSize][%m][%o] with elements of sizeof(double) bytes. +; CHECK: ArrayDecl[UnknownSize][%m][%o] with elements of 8 bytes. ; CHECK: ArrayRef[{3,+,1}<nw><%for.i>][{-4,+,1}<nw><%for.j>][{7,+,1}<nw><%for.k>] define void @foo(i64 %n, i64 %m, i64 %o, double* %A) { @@ -34,7 +34,7 @@ for.k: %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/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_nts_3d.ll b/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_nts_3d.ll index 75080da..ada7758 100644 --- a/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_nts_3d.ll +++ b/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_nts_3d.ll @@ -10,7 +10,7 @@ ; AddRec: {{{(56 + (8 * (-4 + (3 * %m)) * (%o + %p)) + %A),+,(8 * (%o + %p) * %m)}<%for.cond4.preheader.lr.ph.us>,+,(8 * (%o + %p))}<%for.body6.lr.ph.us.us>,+,8}<%for.body6.us.us> ; CHECK: Base offset: %A -; CHECK: ArrayDecl[UnknownSize][%m][(%o + %p)] with elements of sizeof(double) bytes. +; CHECK: ArrayDecl[UnknownSize][%m][(%o + %p)] with elements of 8 bytes. ; CHECK: ArrayRef[{3,+,1}<nw><%for.cond4.preheader.lr.ph.us>][{-4,+,1}<nw><%for.body6.lr.ph.us.us>][{7,+,1}<nw><%for.body6.us.us>] define void @foo(i64 %n, i64 %m, i64 %o, i64 %p, double* nocapture %A) nounwind uwtable { @@ -51,7 +51,7 @@ for.body6.us.us: ; preds = %for.body6.us.us, %f %k.019.us.us = phi i64 [ 0, %for.body6.lr.ph.us.us ], [ %inc.us.us, %for.body6.us.us ] %arrayidx.sum.us.us = add i64 %k.019.us.us, 7 %arrayidx9.sum.us.us = add i64 %arrayidx.sum.us.us, %tmp17.us.us - %arrayidx10.us.us = getelementptr inbounds double* %A, i64 %arrayidx9.sum.us.us + %arrayidx10.us.us = getelementptr inbounds double, double* %A, i64 %arrayidx9.sum.us.us store double 1.000000e+00, double* %arrayidx10.us.us, align 8 %inc.us.us = add nsw i64 %k.019.us.us, 1 %exitcond = icmp eq i64 %inc.us.us, %o diff --git a/test/Analysis/Delinearization/multidim_ivs_and_parameteric_offsets_3d.ll b/test/Analysis/Delinearization/multidim_ivs_and_parameteric_offsets_3d.ll index e921444..9e37b76 100644 --- a/test/Analysis/Delinearization/multidim_ivs_and_parameteric_offsets_3d.ll +++ b/test/Analysis/Delinearization/multidim_ivs_and_parameteric_offsets_3d.ll @@ -10,7 +10,7 @@ ; AddRec: {{{((8 * ((((%m * %p) + %q) * %o) + %r)) + %A),+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.j>,+,8}<%for.k> ; CHECK: Base offset: %A -; CHECK: ArrayDecl[UnknownSize][%m][%o] with elements of sizeof(double) bytes. +; CHECK: ArrayDecl[UnknownSize][%m][%o] with elements of 8 bytes. ; CHECK: ArrayRef[{%p,+,1}<nw><%for.i>][{%q,+,1}<nw><%for.j>][{%r,+,1}<nw><%for.k>] define void @foo(i64 %n, i64 %m, i64 %o, double* %A, i64 %p, i64 %q, i64 %r) { @@ -34,7 +34,7 @@ for.k: %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/test/Analysis/Delinearization/multidim_only_ivs_2d.ll b/test/Analysis/Delinearization/multidim_only_ivs_2d.ll index 5a88c4c..66e2348 100644 --- a/test/Analysis/Delinearization/multidim_only_ivs_2d.ll +++ b/test/Analysis/Delinearization/multidim_only_ivs_2d.ll @@ -8,18 +8,18 @@ ; A[i][j] = 1.0; ; } -; Inst: %val = load double* %arrayidx +; Inst: %val = load double, double* %arrayidx ; In Loop with Header: for.j -; AddRec: {{0,+,(%m * sizeof(double))}<%for.i>,+,sizeof(double)}<%for.j> +; AddRec: {{0,+,(%m * 8)}<%for.i>,+,8}<%for.j> ; Base offset: %A -; ArrayDecl[UnknownSize][%m] with elements of sizeof(double) bytes. +; ArrayDecl[UnknownSize][%m] with elements of 8 bytes. ; ArrayRef[{0,+,1}<nuw><nsw><%for.i>][{0,+,1}<nuw><nsw><%for.j>] ; Inst: store double %val, double* %arrayidx ; In Loop with Header: for.j ; AddRec: {{%A,+,(8 * %m)}<%for.i>,+,8}<%for.j> ; CHECK: Base offset: %A -; CHECK: ArrayDecl[UnknownSize][%m] with elements of sizeof(double) bytes. +; CHECK: ArrayDecl[UnknownSize][%m] with elements of 8 bytes. ; CHECK: ArrayRef[{0,+,1}<nuw><nsw><%for.i>][{0,+,1}<nuw><nsw><%for.j>] define void @foo(i64 %n, i64 %m, double* %A) { @@ -34,8 +34,8 @@ for.i: 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 - %val = load double* %arrayidx + %arrayidx = getelementptr inbounds double, double* %A, i64 %vlaarrayidx.sum + %val = load double, double* %arrayidx store double %val, double* %arrayidx %j.inc = add nsw i64 %j, 1 %j.exitcond = icmp eq i64 %j.inc, %m diff --git a/test/Analysis/Delinearization/multidim_only_ivs_2d_nested.ll b/test/Analysis/Delinearization/multidim_only_ivs_2d_nested.ll index 810188f..1ca18c1 100644 --- a/test/Analysis/Delinearization/multidim_only_ivs_2d_nested.ll +++ b/test/Analysis/Delinearization/multidim_only_ivs_2d_nested.ll @@ -53,7 +53,7 @@ for.body9.lr.ph.us.us: ; preds = %for.cond7.preheader for.body9.us.us: ; preds = %for.body9.us.us, %for.body9.lr.ph.us.us %j.021.us.us = phi i64 [ 0, %for.body9.lr.ph.us.us ], [ %inc.us.us, %for.body9.us.us ] %arrayidx.sum.us.us = add i64 %j.021.us.us, %0 - %arrayidx10.us.us = getelementptr inbounds double* %vla.us, i64 %arrayidx.sum.us.us + %arrayidx10.us.us = getelementptr inbounds double, double* %vla.us, i64 %arrayidx.sum.us.us store double 1.000000e+00, double* %arrayidx10.us.us, align 8 %inc.us.us = add nsw i64 %j.021.us.us, 1 %exitcond50 = icmp eq i64 %inc.us.us, %indvars.iv48 diff --git a/test/Analysis/Delinearization/multidim_only_ivs_3d.ll b/test/Analysis/Delinearization/multidim_only_ivs_3d.ll index aad0f09..8cb7ad5 100644 --- a/test/Analysis/Delinearization/multidim_only_ivs_3d.ll +++ b/test/Analysis/Delinearization/multidim_only_ivs_3d.ll @@ -10,7 +10,7 @@ ; AddRec: {{{%A,+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.j>,+,8}<%for.k> ; CHECK: Base offset: %A -; CHECK: ArrayDecl[UnknownSize][%m][%o] with elements of sizeof(double) bytes. +; CHECK: ArrayDecl[UnknownSize][%m][%o] with elements of 8 bytes. ; CHECK: ArrayRef[{0,+,1}<nuw><nsw><%for.i>][{0,+,1}<nuw><nsw><%for.j>][{0,+,1}<nuw><nsw><%for.k>] define void @foo(i64 %n, i64 %m, i64 %o, double* %A) { @@ -31,7 +31,7 @@ for.k: %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/test/Analysis/Delinearization/multidim_only_ivs_3d_cast.ll b/test/Analysis/Delinearization/multidim_only_ivs_3d_cast.ll index 9e406d1..e08d1b9 100644 --- a/test/Analysis/Delinearization/multidim_only_ivs_3d_cast.ll +++ b/test/Analysis/Delinearization/multidim_only_ivs_3d_cast.ll @@ -38,7 +38,7 @@ for.k: %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/test/Analysis/Delinearization/multidim_two_accesses_different_delinearization.ll b/test/Analysis/Delinearization/multidim_two_accesses_different_delinearization.ll index 6a98507..6775bba 100644 --- a/test/Analysis/Delinearization/multidim_two_accesses_different_delinearization.ll +++ b/test/Analysis/Delinearization/multidim_two_accesses_different_delinearization.ll @@ -23,11 +23,11 @@ for.j: %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/test/Analysis/Delinearization/undef.ll b/test/Analysis/Delinearization/undef.ll index 8ee64e3..399ff27 100644 --- a/test/Analysis/Delinearization/undef.ll +++ b/test/Analysis/Delinearization/undef.ll @@ -20,8 +20,8 @@ for.body60: %tmp5 = add i64 %iy.067, %0 %tmp6 = mul i64 %tmp5, undef %arrayidx69.sum = add i64 undef, %tmp6 - %arrayidx70 = getelementptr inbounds double* %Ey, i64 %arrayidx69.sum - %1 = load double* %arrayidx70, align 8 + %arrayidx70 = getelementptr inbounds double, double* %Ey, i64 %arrayidx69.sum + %1 = load double, double* %arrayidx70, align 8 %inc = add nsw i64 %ix.062, 1 br i1 false, label %for.body60, label %for.end |