brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 163642d Raw
56 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2 3; CHECK:      Statements {4; CHECK-NEXT:     Stmt_loop_15; CHECK-NEXT:         Domain :=6; CHECK-NEXT:             [N] -> { Stmt_loop_1[i0] : N <= 100 and 0 <= i0 <= 101 };7; CHECK-NEXT:         Schedule :=8; CHECK-NEXT:             [N] -> { Stmt_loop_1[i0] -> [0, i0] };9; CHECK-NEXT:         ReadAccess :=    [Reduction Type: NONE] [Scalar: 0]10; CHECK-NEXT:             [N] -> { Stmt_loop_1[i0] -> MemRef_A[0] };11; CHECK-NEXT:         MustWriteAccess :=    [Reduction Type: NONE] [Scalar: 0]12; CHECK-NEXT:             [N] -> { Stmt_loop_1[i0] -> MemRef_A[0] };13; CHECK-NEXT:     Stmt_loop_214; CHECK-NEXT:         Domain :=15; CHECK-NEXT:             [N] -> { Stmt_loop_2[i0] : N <= 100 and 0 <= i0 <= 301 };16; CHECK-NEXT:         Schedule :=17; CHECK-NEXT:             [N] -> { Stmt_loop_2[i0] -> [1, i0] };18; CHECK-NEXT:         ReadAccess :=    [Reduction Type: NONE] [Scalar: 0]19; CHECK-NEXT:             [N] -> { Stmt_loop_2[i0] -> MemRef_A[0] };20; CHECK-NEXT:         MustWriteAccess :=    [Reduction Type: NONE] [Scalar: 0]21; CHECK-NEXT:             [N] -> { Stmt_loop_2[i0] -> MemRef_A[0] };22; CHECK-NEXT: }23 24define void @foo(ptr %A, i64 %N) {25entry:26  br label %branch27 28branch:29  %cond = icmp sle i64 %N, 10030  br i1 %cond, label %loop.1, label %merge31 32loop.1:33  %indvar.1 = phi i64 [0, %branch], [%indvar.next.1, %loop.1]34  %indvar.next.1 = add i64 %indvar.1, 135  %val.1 = load float, ptr %A36  %sum.1 = fadd float %val.1, 1.037  store float %sum.1, ptr %A38  %cond.1 = icmp sle i64 %indvar.1, 10039  br i1 %cond.1, label %loop.1, label %loop.240 41loop.2:42  %indvar.2 = phi i64 [0, %loop.1], [%indvar.next.2, %loop.2]43  %indvar.next.2 = add i64 %indvar.2, 144  %val.2 = load float, ptr %A45  %sum.2 = fadd float %val.2, 1.046  store float %sum.2, ptr %A47  %cond.2 = icmp sle i64 %indvar.2, 30048  br i1 %cond.2, label %loop.2, label %merge49 50merge:51  br label %exit52 53exit:54  ret void55}56