brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 6d17288 Raw
53 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"3 4; void foo(float *input) {5;   for (int j = 0; j < 8; j++) {6;     //SCoP begin7;     for (int i = 0; i < 63; i++) {8;       float x = input[j * 64 + i + 1];9;       input[j * 64 + i + 0] = x * x;10;     }11;   }12; }13 14; CHECK  p0: {0,+,256}<%for.cond1.preheader>15; CHECK-NOT: p116 17; CHECK: ReadAccess18; CHECK:   [p_0] -> { Stmt_for_body3[i0] -> MemRef_input[1 + 64p_0 + i0] };19; CHECK: MustWriteAccess20; CHECK:   [p_0] -> { Stmt_for_body3[i0] -> MemRef_input[64p_0 + i0] };21 22define void @foo(ptr nocapture %input) {23entry:24  br label %for.cond1.preheader25 26for.cond1.preheader:                              ; preds = %for.inc10, %entry27  %j.021 = phi i64 [ 0, %entry ], [ %inc11, %for.inc10 ]28  %mul = shl nsw i64 %j.021, 629  br label %for.body330 31for.body3:                                        ; preds = %for.body3, %for.cond1.preheader32  %i.020 = phi i64 [ 0, %for.cond1.preheader ], [ %inc, %for.body3 ]33  %add = add nsw i64 %i.020, %mul34  %add4 = add nsw i64 %add, 135  %arrayidx = getelementptr inbounds float, ptr %input, i64 %add436  %0 = load float, ptr %arrayidx, align 837  %mul5 = fmul float %0, %038  %arrayidx9 = getelementptr inbounds float, ptr %input, i64 %add39  store float %mul5, ptr %arrayidx9, align 840  %inc = add nsw i64 %i.020, 141  %exitcond = icmp eq i64 %inc, 6342  br i1 %exitcond, label %for.inc10, label %for.body343 44for.inc10:                                        ; preds = %for.body345  %inc11 = add nsw i64 %j.021, 146  %exitcond22 = icmp eq i64 %inc11, 847  fence seq_cst48  br i1 %exitcond22, label %for.end12, label %for.cond1.preheader49 50for.end12:                                        ; preds = %for.inc1051  ret void52}53