119 lines · plain
1; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2 3; CHECK: Context:4; CHECK-NEXT: { : }5; CHECK: Assumed Context:6; CHECK-NEXT: { : }7; CHECK: Invalid Context:8; CHECK-NEXT: { : false }9; CHECK: Statements {10; CHECK-NEXT: Stmt_for_cond40_preheader_411; CHECK-NEXT: Domain :=12; CHECK-NEXT: { Stmt_for_cond40_preheader_4[i0] : 0 <= i0 <= 1 };13; CHECK-NEXT: Schedule :=14; CHECK-NEXT: { Stmt_for_cond40_preheader_4[i0] -> [i0, 0] };15; CHECK-NEXT: MustWriteAccess := [Reduction Type: NONE] [Scalar: 0]16; CHECK-NEXT: { Stmt_for_cond40_preheader_4[i0] -> MemRef_call[5, 5, 0] };17; CHECK-NEXT: Stmt_for_cond40_preheader_518; CHECK-NEXT: Domain :=19; CHECK-NEXT: { Stmt_for_cond40_preheader_5[i0] : 0 <= i0 <= 1 };20; CHECK-NEXT: Schedule :=21; CHECK-NEXT: { Stmt_for_cond40_preheader_5[i0] -> [i0, 1] };22; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0]23; CHECK-NEXT: { Stmt_for_cond40_preheader_5[i0] -> MemRef_call[5, 5, 0] };24; CHECK-NEXT: MustWriteAccess := [Reduction Type: NONE] [Scalar: 1]25; CHECK-NEXT: { Stmt_for_cond40_preheader_5[i0] -> MemRef__pre160[] };26; CHECK-NEXT: }27 28target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"29target triple = "x86_64-unknown-linux-gnu"30 31declare noalias ptr @malloc()32 33define i32 @main() {34entry:35 %call = tail call noalias ptr @malloc()36 %arrayidx51.5.phi.trans.insert = getelementptr inbounds i8, ptr %call, i64 896037 br label %for.cond40.preheader.438 39for.end76: ; preds = %for.inc71.540 ret i32 %.pre16041 42for.cond40.preheader.4: ; preds = %for.inc71.5, %entry43 %t.0131 = phi i32 [ 0, %entry ], [ %inc75, %for.inc71.5 ]44 %indvars.iv.next135 = add nuw nsw i64 0, 145 %0 = trunc i64 %indvars.iv.next135 to i3246 %indvars.iv.next = add nuw nsw i64 0, 147 %exitcond = icmp eq i64 %indvars.iv.next, 6448 %exitcond137 = icmp eq i32 %0, 649 %indvars.iv.next135.1 = add nuw nsw i64 1, 150 %indvars.iv.next.1 = add nuw nsw i64 0, 151 %exitcond.1 = icmp eq i64 %indvars.iv.next.1, 6452 %lftr.wideiv.1 = trunc i64 %indvars.iv.next135.1 to i3253 %exitcond137.1 = icmp eq i32 %lftr.wideiv.1, 654 %indvars.iv.next135.2 = add nuw nsw i64 2, 155 %indvars.iv.next.2 = add nuw nsw i64 0, 156 %exitcond.2 = icmp eq i64 %indvars.iv.next.2, 6457 %lftr.wideiv.2 = trunc i64 %indvars.iv.next135.2 to i3258 %exitcond137.2 = icmp eq i32 %lftr.wideiv.2, 659 %indvars.iv.next135.3 = add nuw nsw i64 3, 160 %indvars.iv.next.3 = add nuw nsw i64 0, 161 %exitcond.3 = icmp eq i64 %indvars.iv.next.3, 6462 %lftr.wideiv.3 = trunc i64 %indvars.iv.next135.3 to i3263 %exitcond137.3 = icmp eq i32 %lftr.wideiv.3, 664 %indvars.iv.next135.4 = add nuw nsw i64 4, 165 %indvars.iv.next.4 = add nuw nsw i64 0, 166 %exitcond.4 = icmp eq i64 %indvars.iv.next.4, 6467 %lftr.wideiv.4 = trunc i64 %indvars.iv.next135.4 to i3268 %exitcond137.4 = icmp eq i32 %lftr.wideiv.4, 669 %arrayidx23.5 = getelementptr inbounds [6 x [6 x [64 x i32]]], ptr %call, i64 0, i64 5, i64 5, i64 070 store i32 36, ptr %arrayidx23.5, align 471 %indvars.iv.next.5 = add nuw nsw i64 0, 172 %exitcond.5 = icmp eq i64 %indvars.iv.next.5, 6473 %indvars.iv.next143 = add nuw nsw i64 1, 174 %exitcond145 = icmp eq i64 %indvars.iv.next143, 6475 %indvars.iv.next149 = add nuw nsw i64 0, 176 %lftr.wideiv150 = trunc i64 %indvars.iv.next149 to i3277 %exitcond151 = icmp eq i32 %lftr.wideiv150, 678 %indvars.iv.next143.1 = add nuw nsw i64 1, 179 %exitcond145.1 = icmp eq i64 %indvars.iv.next143.1, 6480 %indvars.iv.next149.1 = add nuw nsw i64 1, 181 %lftr.wideiv150.1 = trunc i64 %indvars.iv.next149.1 to i3282 %exitcond151.1 = icmp eq i32 %lftr.wideiv150.1, 683 %indvars.iv.next143.2 = add nuw nsw i64 1, 184 %exitcond145.2 = icmp eq i64 %indvars.iv.next143.2, 6485 %indvars.iv.next149.2 = add nuw nsw i64 2, 186 %lftr.wideiv150.2 = trunc i64 %indvars.iv.next149.2 to i3287 %exitcond151.2 = icmp eq i32 %lftr.wideiv150.2, 688 %indvars.iv.next143.3 = add nuw nsw i64 1, 189 %exitcond145.3 = icmp eq i64 %indvars.iv.next143.3, 6490 %indvars.iv.next149.3 = add nuw nsw i64 3, 191 %lftr.wideiv150.3 = trunc i64 %indvars.iv.next149.3 to i3292 %exitcond151.3 = icmp eq i32 %lftr.wideiv150.3, 693 br label %for.body44.494 95for.body44.4: ; preds = %for.body44.4, %for.cond40.preheader.496 %indvars.iv142.4 = phi i64 [ 1, %for.cond40.preheader.4 ], [ %indvars.iv.next143.4, %for.body44.4 ]97 %indvars.iv.next143.4 = add nuw nsw i64 %indvars.iv142.4, 198 %exitcond145.4 = icmp eq i64 %indvars.iv.next143.4, 6499 br i1 %exitcond145.4, label %for.cond40.preheader.5, label %for.body44.4100 101for.cond40.preheader.5: ; preds = %for.body44.4102 %indvars.iv.next149.4 = add nuw nsw i64 4, 1103 %lftr.wideiv150.4 = trunc i64 %indvars.iv.next149.4 to i32104 %exitcond151.4 = icmp eq i32 %lftr.wideiv150.4, 6105 %.pre160 = load i32, ptr %arrayidx51.5.phi.trans.insert, align 4106 br label %for.body44.5107 108for.body44.5: ; preds = %for.body44.5, %for.cond40.preheader.5109 %indvars.iv142.5 = phi i64 [ 1, %for.cond40.preheader.5 ], [ %indvars.iv.next143.5, %for.body44.5 ]110 %indvars.iv.next143.5 = add nuw nsw i64 %indvars.iv142.5, 1111 %exitcond145.5 = icmp eq i64 %indvars.iv.next143.5, 64112 br i1 %exitcond145.5, label %for.inc71.5, label %for.body44.5113 114for.inc71.5: ; preds = %for.body44.5115 %inc75 = add nuw nsw i32 %t.0131, 1116 %exitcond155 = icmp eq i32 %inc75, 2117 br i1 %exitcond155, label %for.end76, label %for.cond40.preheader.4118}119