brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 2b194bb Raw
58 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<deps>' -polly-print-deps -disable-output < %s | FileCheck %s2;3; CHECK:      RAW dependences:4; CHECK-NEXT:     [N] -> { Stmt_S1[i0] -> Stmt_S2[] : N >= 11 and 0 <= i0 <= 1023; Stmt_S0[] -> Stmt_S1[o0] : N >= 11 and 0 <= o0 <= 1023 }5; CHECK-NEXT: WAR dependences:6; CHECK-NEXT:     [N] -> { Stmt_S1[i0] -> Stmt_S2[] : N >= 11 and 0 <= i0 <= 1023 }7; CHECK-NEXT: WAW dependences:8; CHECK-NEXT:     [N] -> { Stmt_S1[i0] -> Stmt_S2[] : N >= 11 and 0 <= i0 <= 1023; Stmt_S0[] -> Stmt_S1[o0] : N >= 11 and 0 <= o0 <= 1023 }9; CHECK-NEXT: Reduction dependences:10; CHECK-NEXT:     [N] -> { Stmt_S1[i0] -> Stmt_S1[1 + i0] : N >= 11 and 0 <= i0 <= 1022 }11;12;    void f(int *sum, int N) {13;      if (N >= 10) {14; S0:    *sum = 0;15;        for (int i = 0; i < 1024; i++)16; S1:      *sum += i;17; S2:    *sum = *sum * 3;18;      }19;    }20target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S64"21 22define void @f(ptr %sum, i32 %N) {23entry:24  br label %entry.125 26entry.1:27  %excond = icmp sgt i32 %N, 1028  br i1 %excond, label %S0, label %f.end29 30S0:31  store i32 0, ptr %sum, align 432  br label %for.cond33 34for.cond:                                         ; preds = %for.inc, %S035  %i.0 = phi i32 [ 0, %S0 ], [ %inc, %for.inc ]36  %exitcond = icmp ne i32 %i.0, 102437  br i1 %exitcond, label %S1, label %S238 39S1:                                               ; preds = %for.cond40  %tmp = load i32, ptr %sum, align 441  %add = add nsw i32 %tmp, %i.042  store i32 %add, ptr %sum, align 443  br label %for.inc44 45for.inc:                                          ; preds = %S146  %inc = add nsw i32 %i.0, 147  br label %for.cond48 49S2:                                               ; preds = %for.cond50  %tmp1 = load i32, ptr %sum, align 451  %mul = mul nsw i32 %tmp1, 352  store i32 %mul, ptr %sum, align 453  br label %f.end54 55f.end:56  ret void57}58