43 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2;3; void foo(float *A) {4; for (long i = 1;; i++) {5; A[i] += 1;6; if (i / 7 == 4)7; break;8; }9; }10;11; CHECK: Domain :=12; CHECK: { Stmt_for_body[i0] : 0 <= i0 <= 27 };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 = sdiv i64 %i.0, 730 %tobool = icmp eq i64 %rem1, 431 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