brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 4f03845 Raw
41 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<detect>' -polly-print-detect < %s2 3; This test case helps to determine whether SCEVRemoveMax::remove produces4; an infinite loop and a segmentation fault, if it processes, for example,5; '((-1 + (-1 * %b1)) umax {(-1 + (-1 * %yStart)),+,-1}<%.preheader>)'.6;7; In this case, the SCoP is invalid. However, SCoP detection failed when8; running over it.9 10target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"11target triple = "x86_64-unknown-linux-gnu"12 13@vertPlane = external global ptr, align 814 15define fastcc void @Maze2Mech(i64 %i, i64 %b1, i64 %yStart) {16.split:17  br i1 undef, label %DrawSegment.exit, label %DrawSegment.exit3418 19DrawSegment.exit34:                               ; preds = %.split20  %tmp = icmp ugt i64 %yStart, %b121  %tmp1 = select i1 %tmp, i64 %b1, i64 %yStart22  %tmp2 = load ptr, ptr @vertPlane, align 823  %y.04.i21 = add i64 %tmp1, 124  br label %.lr.ph.i2425 26.lr.ph.i24:                                       ; preds = %.lr.ph.i24, %DrawSegment.exit3427  %y.05.i22 = phi i64 [ %y.0.i23, %.lr.ph.i24 ], [ %y.04.i21, %DrawSegment.exit34 ]28  %tmp3 = mul i64 %y.05.i22, undef29  %tmp4 = add i64 %tmp3, %i30  %tmp5 = getelementptr inbounds i8, ptr %tmp2, i64 %tmp431  %tmp6 = load i8, ptr %tmp5, align 132  %y.0.i23 = add nuw i64 %y.05.i22, 133  br i1 false, label %bb, label %.lr.ph.i2434 35bb:                                               ; preds = %.lr.ph.i2436  unreachable37 38DrawSegment.exit:                                 ; preds = %.split39  ret void40}41