brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · d47b286 Raw
59 lines · plain
1; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2;3;    void g();4;    int f(int *A) {5;      int a0 = 0, a1 = 0, a2 = 0;6;      for (int i = 0; i < 1000; i++) {7;        a0 = 2 * i;8;        // split9;        A[0] = i;10;        a1 = 2 * i;11;        // split12;        a2 = 2 * i;13;      }14;      g();15;      return a1 + a2;16;    }17;18; CHECK:      Stmt_bb119; CHECK:            MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 1]20; CHECK:                { Stmt_bb1[i0] -> MemRef_a_0[] };21; CHECK:      Stmt_bb222; CHECK:            MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 1]23; CHECK:                { Stmt_bb2[i0] -> MemRef_a_1[] };24; CHECK:      Stmt_bb325; CHECK:            MustWriteAccess :=  [Reduction Type: NONE] [Scalar: 1]26; CHECK:                { Stmt_bb3[i0] -> MemRef_a_2[] };27 28target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"29 30define i32 @f(ptr %A) {31bb:32  br label %bb133 34bb1:                                              ; preds = %bb3, %bb35  %i.0 = phi i32 [ 0, %bb ], [ %tmp4, %bb3 ]36  %a.0 = mul i32 %i.0, 237  br label %bb238 39bb2:                                              ; preds = %bb140  %a.1 = mul i32 %i.0, 241  store i32 %i.0, ptr %A, align 442  br label %bb343 44bb3:                                              ; preds = %bb245  %tmp = shl nsw i32 %i.0, 146  %tmp4 = add nuw nsw i32 %i.0, 147  %a.2 = mul i32 %i.0, 248  %exitcond = icmp ne i32 %i.0, 100049  br i1 %exitcond, label %bb1, label %bb550 51bb5:                                              ; preds = %bb152  call void (...) @g() #253  %add = add i32 %a.0, %a.154  %add2 = add i32 %add, %a.255  ret i32 %add256}57 58declare void @g(...) #159