brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 992df96 Raw
85 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output -polly-precise-fold-accesses -polly-invariant-load-hoisting=true < %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 + pi, i + pj) = i + j14;     end do15;   end do16;   end subroutine17 18; CHECK: [tmp9, nj_loaded2, tmp20, tmp19] -> { Stmt_bb17[i0, i1] -> MemRef_a[-1 + tmp20 + i0, nj_loaded2 + tmp19 + i1] : i1 < -tmp19; Stmt_bb17[i0, i1] -> MemRef_a[tmp20 + i0, tmp19 + i1] : i1 >= -tmp19 };19 20 21target 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"22target triple = "x86_64-unknown-linux-gnu"23 24module asm "\09.ident\09\22GCC: (GNU) 4.6.4 LLVM: 3.3.1\22"25 26; Function Attrs: nounwind uwtable27define void @blam(ptr noalias %arg, ptr noalias %nj, ptr noalias %arg2, ptr noalias %arg3, ptr noalias %a) unnamed_addr #0 {28bb:29  br label %bb530 31bb5:                                              ; preds = %bb32  %nj_loaded = load i64, ptr %nj, align 833  %tmp6 = icmp slt i64 %nj_loaded, 034  %tmp7 = select i1 %tmp6, i64 0, i64 %nj_loaded35  %tmp8 = xor i64 %tmp7, -136  %tmp9 = load i64, ptr %arg, align 837  %tmp10 = icmp sgt i64 %tmp9, 038  br i1 %tmp10, label %bb11, label %bb3639 40bb11:                                             ; preds = %bb541  br label %bb1242 43bb12:                                             ; preds = %bb32, %bb1144  %tmp13 = phi i64 [ %tmp34, %bb32 ], [ 1, %bb11 ]45  %nj_loaded2 = load i64, ptr %nj, align 846  %tmp15 = icmp sgt i64 %nj_loaded2, 047  br i1 %tmp15, label %bb16, label %bb3248 49bb16:                                             ; preds = %bb1250  br label %bb1751 52bb17:                                             ; preds = %bb17, %bb1653  %tmp18 = phi i64 [ %tmp30, %bb17 ], [ 1, %bb16 ]54  %tmp19 = load i64, ptr %arg2, align 855  %tmp20 = load i64, ptr %arg3, align 856  %tmp21 = add i64 %tmp20, %tmp1357  %tmp22 = mul i64 %tmp21, %tmp758  %tmp23 = add i64 %tmp18, %tmp859  %tmp24 = add i64 %tmp23, %tmp1960  %tmp25 = add i64 %tmp24, %tmp2261  %tmp26 = add i64 %tmp18, %tmp1362  %tmp27 = sitofp i64 %tmp26 to double63  %tmp28 = getelementptr [0 x double], ptr %a, i64 0, i64 %tmp2564  store double %tmp27, ptr %tmp28, align 865  %tmp29 = icmp eq i64 %tmp18, %nj_loaded266  %tmp30 = add i64 %tmp18, 167  br i1 %tmp29, label %bb31, label %bb1768 69bb31:                                             ; preds = %bb1770  br label %bb3271 72bb32:                                             ; preds = %bb31, %bb1273  %tmp33 = icmp eq i64 %tmp13, %tmp974  %tmp34 = add i64 %tmp13, 175  br i1 %tmp33, label %bb35, label %bb1276 77bb35:                                             ; preds = %bb3278  br label %bb3679 80bb36:                                             ; preds = %bb35, %bb581  ret void82}83 84attributes #0 = { nounwind uwtable }85