46 lines · plain
1; RUN: opt %loadNPMPolly -polly-allow-nonaffine-loops '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2;3; CHECK: Domain :=4; CHECK-NEXT: { Stmt_while_cond_i__TO__while_end_i[] };5;6define i32 @func(i32 %param0, i32 %param1, ptr %param2) #3 {7 8entry:9 %var0 = alloca i3210 %var1 = alloca i3211 br label %while.cond.i12 13while.cond.i: ; preds = %while.cond.i.backedge, %entry14 %var2 = phi i32 [ %param0, %entry ], [ %var3, %while.cond.i.backedge ]15 %var3 = add nsw i32 %var2, 116 %var4 = icmp slt i32 %var2, -117 br i1 %var4, label %while.cond.i.backedge, label %if.end.i1.i18 19if.end.i1.i: ; preds = %while.cond.i20 %var5 = sdiv i32 %var3, 6421 %var6 = icmp sgt i32 %param1, %var522 br i1 %var6, label %exit1.i, label %while.cond.i.backedge23 24exit1.i: ; preds = %if.end.i1.i25 %var7 = srem i32 %var3, 6426 %var8 = sext i32 %var5 to i6427 %var9 = getelementptr inbounds i64, ptr %param2, i64 %var828 %var10 = load i64, ptr %var9, align 829 %var11 = zext i32 %var7 to i6430 %var12 = shl i64 1, %var1131 %var13 = and i64 %var10, %var1232 %var14 = icmp eq i64 %var13, 033 store i32 %var2, ptr %var134 store i32 %var3, ptr %var035 br i1 %var14, label %while.cond.i.backedge, label %while.end.i36 37while.cond.i.backedge: ; preds = %exit1.i, %while.cond.i, %if.end.i1.i38 br label %while.cond.i39 40while.end.i:41 %var15 = load i32, ptr %var042 %var16 = load i32, ptr %var143 %var17 = add i32 %var15, %var1644 ret i32 %var1745}46