189 lines · plain
1; RUN: opt %loadNPMPolly -polly-ignore-inbounds '-passes=polly-custom<simplify>' -polly-print-simplify -disable-output < %s | FileCheck %s -match-full-lines2;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, i32 %p33, i32 %p34, i32 %p35, i32 %p36, i32 %p37, i32 %p38, i32 %p39,10i32 %p40, i32 %p41, i32 %p42, i32 %p43, i32 %p44, i32 %p45, i32 %p46, i32 %p47, i32 %p48, i32 %p49,11i32 %p50, i32 %p51, i32 %p52, i32 %p53, i32 %p54, i32 %p55, i32 %p56, i32 %p57, i32 %p58, i32 %p59) {12entry:13 br label %for14 15for:16 %j = phi i32 [0, %entry], [%j.inc, %inc]17 %j.cmp = icmp slt i32 %j, %n18 br i1 %j.cmp, label %body, label %exit19 20 21 body:22 %A0 = getelementptr inbounds double, ptr %A, i32 %p023 %A1 = getelementptr inbounds double, ptr %A, i32 %p124 %A2 = getelementptr inbounds double, ptr %A, i32 %p225 %A3 = getelementptr inbounds double, ptr %A, i32 %p326 %A4 = getelementptr inbounds double, ptr %A, i32 %p427 %A5 = getelementptr inbounds double, ptr %A, i32 %p528 %A6 = getelementptr inbounds double, ptr %A, i32 %p629 %A7 = getelementptr inbounds double, ptr %A, i32 %p730 %A8 = getelementptr inbounds double, ptr %A, i32 %p831 %A9 = getelementptr inbounds double, ptr %A, i32 %p932 %A10 = getelementptr inbounds double, ptr %A, i32 %p1033 %A11 = getelementptr inbounds double, ptr %A, i32 %p1134 %A12 = getelementptr inbounds double, ptr %A, i32 %p1235 %A13 = getelementptr inbounds double, ptr %A, i32 %p1336 %A14 = getelementptr inbounds double, ptr %A, i32 %p1437 %A15 = getelementptr inbounds double, ptr %A, i32 %p1538 %A16 = getelementptr inbounds double, ptr %A, i32 %p1639 %A17 = getelementptr inbounds double, ptr %A, i32 %p1740 %A18 = getelementptr inbounds double, ptr %A, i32 %p1841 %A19 = getelementptr inbounds double, ptr %A, i32 %p1942 %A20 = getelementptr inbounds double, ptr %A, i32 %p2043 %A21 = getelementptr inbounds double, ptr %A, i32 %p2144 %A22 = getelementptr inbounds double, ptr %A, i32 %p2245 %A23 = getelementptr inbounds double, ptr %A, i32 %p2346 %A24 = getelementptr inbounds double, ptr %A, i32 %p2447 %A25 = getelementptr inbounds double, ptr %A, i32 %p2548 %A26 = getelementptr inbounds double, ptr %A, i32 %p2649 %A27 = getelementptr inbounds double, ptr %A, i32 %p2750 %A28 = getelementptr inbounds double, ptr %A, i32 %p2851 %A29 = getelementptr inbounds double, ptr %A, i32 %p2952 %A30 = getelementptr inbounds double, ptr %A, i32 %p3053 %A31 = getelementptr inbounds double, ptr %A, i32 %p3154 %A32 = getelementptr inbounds double, ptr %A, i32 %p3255 %A33 = getelementptr inbounds double, ptr %A, i32 %p3356 %A34 = getelementptr inbounds double, ptr %A, i32 %p3457 %A35 = getelementptr inbounds double, ptr %A, i32 %p3558 %A36 = getelementptr inbounds double, ptr %A, i32 %p3659 %A37 = getelementptr inbounds double, ptr %A, i32 %p3760 %A38 = getelementptr inbounds double, ptr %A, i32 %p3861 %A39 = getelementptr inbounds double, ptr %A, i32 %p3962 %A40 = getelementptr inbounds double, ptr %A, i32 %p4063 %A41 = getelementptr inbounds double, ptr %A, i32 %p4164 %A42 = getelementptr inbounds double, ptr %A, i32 %p4265 %A43 = getelementptr inbounds double, ptr %A, i32 %p4366 %A44 = getelementptr inbounds double, ptr %A, i32 %p4467 %A45 = getelementptr inbounds double, ptr %A, i32 %p4568 %A46 = getelementptr inbounds double, ptr %A, i32 %p4669 %A47 = getelementptr inbounds double, ptr %A, i32 %p4770 %A48 = getelementptr inbounds double, ptr %A, i32 %p4871 %A49 = getelementptr inbounds double, ptr %A, i32 %p4972 %A50 = getelementptr inbounds double, ptr %A, i32 %p5073 %A51 = getelementptr inbounds double, ptr %A, i32 %p5174 %A52 = getelementptr inbounds double, ptr %A, i32 %p5275 %A53 = getelementptr inbounds double, ptr %A, i32 %p5376 %A54 = getelementptr inbounds double, ptr %A, i32 %p5477 %A55 = getelementptr inbounds double, ptr %A, i32 %p5578 %A56 = getelementptr inbounds double, ptr %A, i32 %p5679 %A57 = getelementptr inbounds double, ptr %A, i32 %p5780 %A58 = getelementptr inbounds double, ptr %A, i32 %p5881 %A59 = getelementptr inbounds double, ptr %A, i32 %p5982 83 %val0 = load double, ptr %A084 store double %val0, ptr %A185 86 %val2 = load double, ptr %A287 store double %val2, ptr %A388 89 %val4 = load double, ptr %A490 store double %val4, ptr %A591 92 %val6 = load double, ptr %A693 store double %val6, ptr %A794 95 %val8 = load double, ptr %A896 store double %val8, ptr %A997 98 %val10 = load double, ptr %A1099 store double %val10, ptr %A11100 101 %val12 = load double, ptr %A12102 store double %val12, ptr %A13103 104 %val13 = load double, ptr %A13105 store double %val13, ptr %A15106 107 %val16 = load double, ptr %A16108 store double %val16, ptr %A17109 110 %val18 = load double, ptr %A18111 store double %val18, ptr %A19112 113 %val20 = load double, ptr %A20114 store double %val20, ptr %A21115 116 %val22 = load double, ptr %A22117 store double %val22, ptr %A23118 119 %val24 = load double, ptr %A24120 store double %val24, ptr %A25121 122 %val26 = load double, ptr %A26123 store double %val26, ptr %A27124 125 %val28 = load double, ptr %A28126 store double %val28, ptr %A29127 128 %val30 = load double, ptr %A30129 store double %val30, ptr %A31130 131 %val32 = load double, ptr %A32132 store double %val32, ptr %A33133 134 %val34 = load double, ptr %A34135 store double %val34, ptr %A35136 137 %val36 = load double, ptr %A36138 store double %val36, ptr %A37139 140 %val38 = load double, ptr %A38141 store double %val38, ptr %A39142 143 %val40 = load double, ptr %A40144 store double %val40, ptr %A41145 146 %val42 = load double, ptr %A42147 store double %val42, ptr %A43148 149 %val44 = load double, ptr %A44150 store double %val44, ptr %A45151 152 %val46 = load double, ptr %A46153 store double %val46, ptr %A47154 155 %val48 = load double, ptr %A48156 store double %val48, ptr %A49157 158 %val50 = load double, ptr %A50159 store double %val50, ptr %A51160 161 %val52 = load double, ptr %A52162 store double %val52, ptr %A53163 164 %val54 = load double, ptr %A54165 store double %val54, ptr %A55166 167 %val56 = load double, ptr %A56168 store double %val56, ptr %A57169 170 %val58 = load double, ptr %A58171 store double %val58, ptr %A59172 173 br label %inc174 175 176inc:177 %j.inc = add nuw nsw i32 %j, 1178 br label %for179 180exit:181 br label %return182 183return:184 ret void185}186 187 188; CHECK: SCoP could not be simplified189