43 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2;3; CHECK: Domain :=4; CHECK: { Stmt_for_body[i0] : 0 <= i0 <= 6 };5;6; void foo(float *A) {7; for (long i = 1;; i++) {8; A[i] += 1;9; if (i % 7 == 0)10; break;11; }12; }13;14target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"15 16define void @foo(ptr %A) {17entry:18 br label %for.cond19 20for.cond: ; preds = %for.inc, %entry21 %i.0 = phi i64 [ 1, %entry ], [ %inc, %for.inc ]22 br label %for.body23 24for.body: ; preds = %for.cond25 %arrayidx0 = getelementptr inbounds float, ptr %A, i64 %i.026 %tmp0 = load float, ptr %arrayidx0, align 427 %add0 = fadd float %tmp0, 2.000000e+0028 store float %add0, ptr %arrayidx0, align 429 %rem1 = srem i64 %i.0, 730 %tobool = icmp eq i64 %rem1, 031 br i1 %tobool, label %for.end, label %if.end32 33if.end: ; preds = %for.body, %if.then34 br label %for.inc35 36for.inc: ; preds = %if.end37 %inc = add nuw nsw i64 %i.0, 138 br label %for.cond39 40for.end: ; preds = %for.cond41 ret void42}43