1; RUN: opt %loadNPMPolly -polly-ignore-inbounds '-passes=print<polly-simplify>' -disable-output < %s | FileCheck %s -match-full-lines 2; 3; Test scalability. 4; 5define void @func(i32 %n, ptr noalias nonnull %A, 6i32 %p0, i32 %p1, i32 %p2, i32 %p3, i32 %p4, i32 %p5, i32 %p6, i32 %p7, i32 %p8, i32 %p9, 7i32 %p10, i32 %p11, i32 %p12, i32 %p13, i32 %p14, i32 %p15, i32 %p16, i32 %p17, i32 %p18, i32 %p19, 8i32 %p20, i32 %p21, i32 %p22, i32 %p23, i32 %p24, i32 %p25, i32 %p26, i32 %p27, i32 %p28, i32 %p29, 9i32 %p30, i32 %p31, i32 %p32) { 10entry: 11 br label %for 12 13for: 14 %j = phi i32 [0, %entry], [%j.inc, %inc] 15 %j.cmp = icmp slt i32 %j, %n 16 br i1 %j.cmp, label %body, label %exit 17 18 19 body: 20 %A0 = getelementptr inbounds double, ptr %A, i32 %p0 21 %A1 = getelementptr inbounds double, ptr %A, i32 %p1 22 %A2 = getelementptr inbounds double, ptr %A, i32 %p2 23 %A3 = getelementptr inbounds double, ptr %A, i32 %p3 24 %A4 = getelementptr inbounds double, ptr %A, i32 %p4 25 %A5 = getelementptr inbounds double, ptr %A, i32 %p5 26 %A6 = getelementptr inbounds double, ptr %A, i32 %p6 27 %A7 = getelementptr inbounds double, ptr %A, i32 %p7 28 %A8 = getelementptr inbounds double, ptr %A, i32 %p8 29 %A9 = getelementptr inbounds double, ptr %A, i32 %p9 30 %A10 = getelementptr inbounds double, ptr %A, i32 %p10 31 %A11 = getelementptr inbounds double, ptr %A, i32 %p11 32 %A12 = getelementptr inbounds double, ptr %A, i32 %p12 33 %A13 = getelementptr inbounds double, ptr %A, i32 %p13 34 %A14 = getelementptr inbounds double, ptr %A, i32 %p14 35 %A15 = getelementptr inbounds double, ptr %A, i32 %p15 36 %A16 = getelementptr inbounds double, ptr %A, i32 %p16 37 %A17 = getelementptr inbounds double, ptr %A, i32 %p17 38 %A18 = getelementptr inbounds double, ptr %A, i32 %p18 39 %A19 = getelementptr inbounds double, ptr %A, i32 %p19 40 %A20 = getelementptr inbounds double, ptr %A, i32 %p20 41 %A21 = getelementptr inbounds double, ptr %A, i32 %p21 42 %A22 = getelementptr inbounds double, ptr %A, i32 %p22 43 %A23 = getelementptr inbounds double, ptr %A, i32 %p23 44 %A24 = getelementptr inbounds double, ptr %A, i32 %p24 45 %A25 = getelementptr inbounds double, ptr %A, i32 %p25 46 %A26 = getelementptr inbounds double, ptr %A, i32 %p26 47 %A27 = getelementptr inbounds double, ptr %A, i32 %p27 48 %A28 = getelementptr inbounds double, ptr %A, i32 %p28 49 %A29 = getelementptr inbounds double, ptr %A, i32 %p29 50 %A30 = getelementptr inbounds double, ptr %A, i32 %p30 51 %A31 = getelementptr inbounds double, ptr %A, i32 %p31 52 %A32 = getelementptr inbounds double, ptr %A, i32 %p32 53 54 %val = load double, ptr %A0 55 56 store double %val, ptr %A1 57 store double %val, ptr %A2 58 store double %val, ptr %A3 59 store double %val, ptr %A4 60 store double %val, ptr %A5 61 store double %val, ptr %A6 62 store double %val, ptr %A7 63 store double %val, ptr %A8 64 store double %val, ptr %A9 65 store double %val, ptr %A10 66 store double %val, ptr %A11 67 store double %val, ptr %A12 68 store double %val, ptr %A13 69 store double %val, ptr %A14 70 store double %val, ptr %A15 71 store double %val, ptr %A16 72 store double %val, ptr %A17 73 store double %val, ptr %A18 74 store double %val, ptr %A19 75 store double %val, ptr %A20 76 store double %val, ptr %A21 77 store double %val, ptr %A22 78 store double %val, ptr %A23 79 store double %val, ptr %A24 80 store double %val, ptr %A25 81 store double %val, ptr %A26 82 store double %val, ptr %A27 83 store double %val, ptr %A28 84 store double %val, ptr %A29 85 store double %val, ptr %A30 86 store double %val, ptr %A31 87 store double %val, ptr %A32 88 89 br label %inc 90 91 92inc: 93 %j.inc = add nuw nsw i32 %j, 1 94 br label %for 95 96exit: 97 br label %return 98 99return: 100 ret void 101} 102 103 104; CHECK: SCoP could not be simplified 105