1; RUN: opt %loadNPMPolly '-passes=print<polly-function-scops>' -disable-output < %s 2>&1 | FileCheck %s 2; 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.cond 19 20for.cond: ; preds = %for.inc, %entry 21 %i.0 = phi i64 [ 1, %entry ], [ %inc, %for.inc ] 22 br label %for.body 23 24for.body: ; preds = %for.cond 25 %arrayidx0 = getelementptr inbounds float, ptr %A, i64 %i.0 26 %tmp0 = load float, ptr %arrayidx0, align 4 27 %add0 = fadd float %tmp0, 2.000000e+00 28 store float %add0, ptr %arrayidx0, align 4 29 %rem1 = srem i64 %i.0, 7 30 %tobool = icmp eq i64 %rem1, 0 31 br i1 %tobool, label %for.end, label %if.end 32 33if.end: ; preds = %for.body, %if.then 34 br label %for.inc 35 36for.inc: ; preds = %if.end 37 %inc = add nuw nsw i64 %i.0, 1 38 br label %for.cond 39 40for.end: ; preds = %for.cond 41 ret void 42} 43