brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 0179072 Raw
45 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly<no-default-opts>' -S < %s | FileCheck %s2 3; This test cases used to crash the scalar code generation. Check that we4; can generate code for it.5 6; CHECK: polly.start7@endposition = external global i32, align 48@Bit = external global [0 x i32], align 49@Init = external global [0 x i32], align 410 11define void @maskgen() {12entry:13  br label %for.body14 15for.body:                                         ; preds = %for.body, %entry16  br i1 undef, label %for.end.310, label %for.body17 18for.end.310:                                      ; preds = %for.body19  store i32 undef, ptr @endposition, align 420  %sub325 = sub i32 33, 021  %0 = load i32, ptr @Init, align 422  br i1 false, label %for.cond.347.preheader, label %for.body.328.lr.ph23 24for.body.328.lr.ph:                               ; preds = %for.end.31025  %1 = sub i32 34, 026  br label %for.body.32827 28for.body.328:                                     ; preds = %for.body.328, %for.body.328.lr.ph29  %indvars.iv546 = phi i64 [ %indvars.iv.next547, %for.body.328 ], [ 1, %for.body.328.lr.ph ]30  %2 = phi i32 [ %or331, %for.body.328 ], [ %0, %for.body.328.lr.ph ]31  %arrayidx330 = getelementptr inbounds [0 x i32], ptr @Bit, i64 0, i64 %indvars.iv54632  %3 = load i32, ptr %arrayidx330, align 433  %or331 = or i32 %3, %234  %indvars.iv.next547 = add nuw nsw i64 %indvars.iv546, 135  %lftr.wideiv = trunc i64 %indvars.iv.next547 to i3236  %exitcond14 = icmp eq i32 %lftr.wideiv, %137  br i1 %exitcond14, label %for.cond.347.preheader, label %for.body.32838 39for.cond.347.preheader:                           ; preds = %for.cond.347.preheader, %for.body.328, %for.end.31040  br i1 undef, label %if.end.471, label %for.cond.347.preheader41 42if.end.471:                                       ; preds = %for.cond.347.preheader43  ret void44}45