brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 1031460 Raw
77 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s2 3;   subroutine init_array(ni, nj, pi, pj, a)4;   implicit none5;6;   double precision, dimension(nj, ni) :: a7;   integer*8 :: ni, nj8;   integer*8 :: pi, pj9;   integer*8 :: i, j10;11;   do i = 1, ni12;     do j = 1, nj13;       a(j, i) = i + j14;     end do15;   end do16;   end subroutine17;18;  Verify we correctly delinearize accesses19 20; CHECK: MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 0]21; CHECK:   [tmp9, tmp14] -> { Stmt_bb17[i0, i1] -> MemRef_arg4[i0, i1] };22 23target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-f128:128:128-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"24 25define void @ham(ptr noalias %arg, ptr noalias %arg1, ptr noalias %arg2, ptr noalias %arg3, ptr noalias %arg4) unnamed_addr {26bb:27  br label %bb528 29bb5:                                              ; preds = %bb30  %tmp = load i64, ptr %arg1, align 831  %tmp6 = icmp slt i64 %tmp, 032  %tmp7 = select i1 %tmp6, i64 0, i64 %tmp33  %tmp8 = xor i64 %tmp7, -134  %tmp9 = load i64, ptr %arg, align 835  %tmp10 = icmp sgt i64 %tmp9, 036  br i1 %tmp10, label %bb11, label %bb3237 38bb11:                                             ; preds = %bb539  br label %bb1240 41bb12:                                             ; preds = %bb28, %bb1142  %tmp13 = phi i64 [ %tmp30, %bb28 ], [ 1, %bb11 ]43  %tmp14 = load i64, ptr %arg1, align 844  %tmp15 = icmp sgt i64 %tmp14, 045  br i1 %tmp15, label %bb16, label %bb2846 47bb16:                                             ; preds = %bb1248  br label %bb1749 50bb17:                                             ; preds = %bb17, %bb1651  %tmp18 = phi i64 [ %tmp26, %bb17 ], [ 1, %bb16 ]52  %tmp19 = mul i64 %tmp13, %tmp753  %tmp20 = add i64 %tmp19, %tmp854  %tmp21 = add i64 %tmp20, %tmp1855  %tmp22 = add i64 %tmp18, %tmp1356  %tmp23 = sitofp i64 %tmp22 to double57  %tmp24 = getelementptr [0 x double], ptr %arg4, i64 0, i64 %tmp2158  store double %tmp23, ptr %tmp24, align 859  %tmp25 = icmp eq i64 %tmp18, %tmp1460  %tmp26 = add i64 %tmp18, 161  br i1 %tmp25, label %bb27, label %bb1762 63bb27:                                             ; preds = %bb1764  br label %bb2865 66bb28:                                             ; preds = %bb27, %bb1267  %tmp29 = icmp eq i64 %tmp13, %tmp968  %tmp30 = add i64 %tmp13, 169  br i1 %tmp29, label %bb31, label %bb1270 71bb31:                                             ; preds = %bb2872  br label %bb3273 74bb32:                                             ; preds = %bb31, %bb575  ret void76}77