brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 884cea7 Raw
73 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<ast>' -polly-print-ast -polly-ast-detect-parallel -disable-output < %s | FileCheck %s2;3; CHECK-NOT:#pragma known-parallel reduction4; CHECK:    #pragma known-parallel5; CHECK:    for (int c0 = 0; c0 <= 2047; c0 += 1)6; CHECK:      for (int c1 = 0; c1 <= 1023; c1 += 1)7; CHECK:        #pragma simd reduction8; CHECK:        for (int c2 = 0; c2 <= 511; c2 += 1)9; CHECK:          Stmt_for_body6(c0, c1, c2);10;11;    void rmd(int *A) {12;      for (long i = 0; i < 2048; i++)13;        for (long j = 0; j < 1024; j++)14;          for (long k = 0; k < 512; k++)15;            A[i] += i;16;    }17;18target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S64"19 20define void @rmd(ptr %A) {21entry:22  br label %for.cond23 24for.cond:                                         ; preds = %for.inc10, %entry25  %i.0 = phi i32 [ 0, %entry ], [ %inc11, %for.inc10 ]26  %exitcond2 = icmp ne i32 %i.0, 204827  br i1 %exitcond2, label %for.body, label %for.end1228 29for.body:                                         ; preds = %for.cond30  br label %for.cond131 32for.cond1:                                        ; preds = %for.inc7, %for.body33  %j.0 = phi i32 [ 0, %for.body ], [ %inc8, %for.inc7 ]34  %exitcond1 = icmp ne i32 %j.0, 102435  br i1 %exitcond1, label %for.body3, label %for.end936 37for.body3:                                        ; preds = %for.cond138  br label %for.cond439 40for.cond4:                                        ; preds = %for.inc, %for.body341  %k.0 = phi i32 [ 0, %for.body3 ], [ %inc, %for.inc ]42  %exitcond = icmp ne i32 %k.0, 51243  br i1 %exitcond, label %for.body6, label %for.end44 45for.body6:                                        ; preds = %for.cond446  %arrayidx = getelementptr inbounds i32, ptr %A, i32 %i.047  %tmp = load i32, ptr %arrayidx, align 448  %add = add nsw i32 %tmp, %i.049  store i32 %add, ptr %arrayidx, align 450  br label %for.inc51 52for.inc:                                          ; preds = %for.body653  %inc = add nsw i32 %k.0, 154  br label %for.cond455 56for.end:                                          ; preds = %for.cond457  br label %for.inc758 59for.inc7:                                         ; preds = %for.end60  %inc8 = add nsw i32 %j.0, 161  br label %for.cond162 63for.end9:                                         ; preds = %for.cond164  br label %for.inc1065 66for.inc10:                                        ; preds = %for.end967  %inc11 = add nsw i32 %i.0, 168  br label %for.cond69 70for.end12:                                        ; preds = %for.cond71  ret void72}73