1; RUN: opt %loadNPMPolly -polly-pragma-based-opts=1 '-passes=print<polly-opt-isl>' -disable-output < %s | FileCheck %s --match-full-lines 2; RUN: opt %loadNPMPolly -polly-pragma-based-opts=0 '-passes=print<polly-opt-isl>' -disable-output < %s | FileCheck %s --match-full-lines 3; 4; Unrolling with heuristic factor. 5; Currently not supported and expected to be handled by LLVM's unroll pass. 6; 7define void @func(i32 %n, ptr noalias nonnull %A) { 8entry: 9 br label %for 10 11for: 12 %j = phi i32 [0, %entry], [%j.inc, %inc] 13 %j.cmp = icmp slt i32 %j, %n 14 br i1 %j.cmp, label %body, label %exit 15 16 body: 17 store double 42.0, ptr %A 18 br label %inc 19 20inc: 21 %j.inc = add nuw nsw i32 %j, 1 22 br label %for, !llvm.loop !2 23 24exit: 25 br label %return 26 27return: 28 ret void 29} 30 31 32!2 = distinct !{!2, !4} 33!4 = !{!"llvm.loop.unroll.enable", i1 true} 34 35 36; CHECK-LABEL: Printing analysis 'Polly - Optimize schedule of SCoP' for region: 'for => return' in function 'func': 37; CHECK-NEXT: Calculated schedule: 38; CHECK-NEXT: n/a 39