495 lines · plain
1; RUN: llc -mtriple=hexagon -O3 -verify-machineinstrs < %s2; REQUIRES: asserts3; Expect clean compilation.4 5target triple = "hexagon"6 7%s.0 = type { i16, i16, [4 x i16], i16, i16, [3 x i16], [3 x [4 x i16]], [3 x i16], [2 x [2 x i16]], i16, i16, i16, i16, [2 x i16], i16, i16, [3 x i16], [17 x i16] }8 9@g0 = external global i1610@g1 = external global [2 x i16]11@g2 = external global [10 x i16]12@g3 = external global %s.013@g4 = external global [160 x i16]14@g5 = external global i1615@g6 = external global i1616@g7 = external global i1617@g8 = external global i1618@g9 = external global i1619@g10 = external global i1620@g11 = external global i1621@g12 = external global [192 x i16]22@g13 = external global [10 x i32]23@g14 = external global i1624 25; Function Attrs: nounwind26define signext i16 @f0(i16 signext %a0, ptr nocapture readonly %a1) #0 {27b0:28 %v0 = alloca i32, align 429 %v1 = alloca i32, align 430 store i32 327685, ptr %v0, align 431 store i32 1048592, ptr %v1, align 432 %v2 = sext i16 %a0 to i3233 switch i32 %v2, label %b35 [34 i32 0, label %b135 i32 1, label %b936 i32 2, label %b1137 i32 3, label %b1538 i32 4, label %b2039 i32 5, label %b3040 ]41 42b1: ; preds = %b043 %v3 = load i16, ptr %a1, align 2, !tbaa !044 %v4 = icmp eq i16 %v3, -145 br i1 %v4, label %b2, label %b446 47b2: ; preds = %b148 %v5 = load i16, ptr @g0, align 2, !tbaa !049 %v6 = add i16 %v5, 150 store i16 %v6, ptr @g0, align 2, !tbaa !051 %v7 = icmp sgt i16 %v6, 252 br i1 %v7, label %b3, label %b553 54b3: ; preds = %b255 store i16 3, ptr @g0, align 2, !tbaa !056 br label %b3557 58b4: ; preds = %b159 store i16 0, ptr @g0, align 2, !tbaa !060 br label %b561 62b5: ; preds = %b4, %b263 %v8 = load i16, ptr %a1, align 2, !tbaa !064 %v9 = icmp ne i16 %v8, 065 %v10 = load i16, ptr @g1, align 266 %v11 = icmp eq i16 %v10, 067 %v12 = and i1 %v9, %v1168 br i1 %v12, label %b6, label %b3569 70b6: ; preds = %b571 call void @f1(ptr %v0, ptr %v1, ptr @g2, ptr getelementptr inbounds (%s.0, ptr @g3, i32 0, i32 2, i32 0), ptr @g4)72 %v15 = load i16, ptr @g2, align 2, !tbaa !073 %v16 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 1), align 2, !tbaa !074 %v17 = icmp sgt i16 %v15, %v1675 %v18 = select i1 %v17, i16 %v15, i16 %v1676 %v19 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 2), align 2, !tbaa !077 %v20 = icmp sgt i16 %v18, %v1978 %v21 = select i1 %v20, i16 %v18, i16 %v1979 %v22 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 3), align 2, !tbaa !080 %v23 = icmp sgt i16 %v21, %v2281 %v24 = select i1 %v23, i16 %v21, i16 %v2282 %v25 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 4), align 2, !tbaa !083 %v26 = icmp sle i16 %v24, %v2584 %v27 = xor i1 %v23, true85 %v28 = or i1 %v26, %v2786 %v29 = select i1 %v26, i16 %v25, i16 %v2287 %v30 = select i1 %v28, i16 %v29, i16 %v2188 %v31 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 5), align 2, !tbaa !089 %v32 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 6), align 2, !tbaa !090 %v33 = icmp slt i16 %v31, %v3291 %v34 = select i1 %v33, i16 %v31, i16 %v3292 %v35 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 7), align 2, !tbaa !093 %v36 = icmp slt i16 %v34, %v3594 %v37 = select i1 %v36, i16 %v34, i16 %v3595 %v38 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 8), align 2, !tbaa !096 %v39 = icmp slt i16 %v37, %v3897 %v40 = select i1 %v39, i16 %v37, i16 %v3898 %v41 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 9), align 2, !tbaa !099 %v42 = icmp sge i16 %v40, %v41100 %v43 = xor i1 %v39, true101 %v44 = or i1 %v42, %v43102 %v45 = select i1 %v42, i16 %v41, i16 %v38103 %v46 = select i1 %v44, i16 %v45, i16 %v37104 %v47 = icmp slt i16 %v30, %v46105 br i1 %v47, label %b7, label %b35106 107b7: ; preds = %b6108 %v48 = load i16, ptr @g5, align 2, !tbaa !0109 %v49 = icmp eq i16 %v48, 4110 %v50 = load i16, ptr @g6, align 2111 %v51 = icmp eq i16 %v50, 0112 %v52 = and i1 %v49, %v51113 br i1 %v52, label %b35, label %b8114 115b8: ; preds = %b7116 br label %b35117 118b9: ; preds = %b0119 store i16 0, ptr @g0, align 2, !tbaa !0120 %v53 = load i16, ptr %a1, align 2, !tbaa !0121 %v54 = icmp eq i16 %v53, 0122 %v55 = zext i1 %v54 to i16123 %v56 = getelementptr i16, ptr %a1, i32 1124 %v57 = load i16, ptr %v56, align 2, !tbaa !0125 %v58 = icmp eq i16 %v57, 0126 %v59 = zext i1 %v58 to i16127 %v60 = add nuw nsw i16 %v59, %v55128 %v61 = getelementptr inbounds i16, ptr %a1, i32 2129 %v62 = load i16, ptr %v61, align 2, !tbaa !0130 %v63 = icmp ult i16 %v62, 256131 %v64 = zext i1 %v63 to i16132 %v65 = add nuw nsw i16 %v64, %v60133 %v66 = load i16, ptr @g1, align 2134 %v67 = icmp eq i16 %v65, 3135 %v68 = icmp ne i16 %v66, 0136 %v69 = or i1 %v68, %v67137 %v70 = load i16, ptr getelementptr inbounds (%s.0, ptr @g3, i32 0, i32 9), align 2138 %v71 = icmp eq i16 %v70, 3139 %v72 = or i1 %v71, %v69140 br i1 %v72, label %b35, label %b10141 142b10: ; preds = %b9143 br label %b35144 145b11: ; preds = %b0146 store i16 0, ptr @g0, align 2, !tbaa !0147 %v73 = load i16, ptr %a1, align 2, !tbaa !0148 %v74 = icmp eq i16 %v73, 0149 %v75 = zext i1 %v74 to i16150 %v76 = getelementptr i16, ptr %a1, i32 1151 %v77 = load i16, ptr %v76, align 2, !tbaa !0152 %v78 = icmp eq i16 %v77, 0153 %v79 = zext i1 %v78 to i16154 %v80 = add nuw nsw i16 %v79, %v75155 %v81 = getelementptr inbounds i16, ptr %a1, i32 2156 %v82 = load i16, ptr %v81, align 2, !tbaa !0157 %v83 = icmp ult i16 %v82, 256158 %v84 = zext i1 %v83 to i16159 %v85 = add nuw nsw i16 %v84, %v80160 %v86 = icmp ne i16 %v85, 3161 %v87 = load i16, ptr @g1, align 2162 %v88 = icmp eq i16 %v87, 0163 %v89 = and i1 %v88, %v86164 br i1 %v89, label %b12, label %b35165 166b12: ; preds = %b11167 %v90 = load i16, ptr @g5, align 2, !tbaa !0168 switch i16 %v90, label %b14 [169 i16 1, label %b35170 i16 2, label %b13171 ]172 173b13: ; preds = %b12174 %v91 = load i16, ptr @g7, align 2, !tbaa !0175 %v92 = load i16, ptr @g6, align 2176 %v93 = or i16 %v92, %v91177 %v94 = icmp eq i16 %v93, 0178 br i1 %v94, label %b35, label %b14179 180b14: ; preds = %b13, %b12181 br label %b35182 183b15: ; preds = %b0184 store i16 0, ptr @g0, align 2, !tbaa !0185 %v95 = load i16, ptr %a1, align 2, !tbaa !0186 %v96 = icmp eq i16 %v95, 0187 %v97 = zext i1 %v96 to i16188 %v98 = getelementptr i16, ptr %a1, i32 1189 %v99 = load i16, ptr %v98, align 2, !tbaa !0190 %v100 = icmp eq i16 %v99, 0191 %v101 = zext i1 %v100 to i16192 %v102 = add nuw nsw i16 %v101, %v97193 %v103 = getelementptr i16, ptr %a1, i32 2194 %v104 = load i16, ptr %v103, align 2, !tbaa !0195 %v105 = icmp eq i16 %v104, 0196 %v106 = zext i1 %v105 to i16197 %v107 = add nuw nsw i16 %v106, %v102198 %v108 = getelementptr i16, ptr %a1, i32 3199 %v109 = load i16, ptr %v108, align 2, !tbaa !0200 %v110 = icmp eq i16 %v109, 0201 %v111 = zext i1 %v110 to i16202 %v112 = add nuw nsw i16 %v111, %v107203 %v113 = getelementptr i16, ptr %a1, i32 4204 %v114 = load i16, ptr %v113, align 2, !tbaa !0205 %v115 = icmp eq i16 %v114, 0206 %v116 = zext i1 %v115 to i16207 %v117 = add nuw nsw i16 %v116, %v112208 %v118 = icmp eq i16 %v117, 5209 br i1 %v118, label %b35, label %b16210 211b16: ; preds = %b15212 %v119 = load i16, ptr getelementptr inbounds (%s.0, ptr @g3, i32 0, i32 3), align 2, !tbaa !4213 switch i16 %v119, label %b17 [214 i16 120, label %b19215 i16 115, label %b19216 ]217 218b17: ; preds = %b16219 %v120 = icmp sgt i16 %v119, 100220 br i1 %v120, label %b35, label %b18221 222b18: ; preds = %b17223 tail call void @f2(ptr getelementptr inbounds (%s.0, ptr @g3, i32 0, i32 2, i32 0), ptr @g2)224 %v121 = load i16, ptr @g2, align 2, !tbaa !0225 %v122 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 1), align 2, !tbaa !0226 %v123 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 2), align 2, !tbaa !0227 %v124 = icmp sgt i16 %v122, %v123228 %v125 = select i1 %v124, i16 %v122, i16 %v123229 %v126 = icmp sgt i16 %v121, %v125230 %v127 = select i1 %v126, i16 %v121, i16 %v125231 %v128 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 6), align 2, !tbaa !0232 %v129 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 7), align 2, !tbaa !0233 %v130 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 8), align 2, !tbaa !0234 %v131 = icmp slt i16 %v129, %v130235 %v132 = select i1 %v131, i16 %v129, i16 %v130236 %v133 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 9), align 2, !tbaa !0237 %v134 = icmp slt i16 %v132, %v133238 %v135 = select i1 %v134, i16 %v132, i16 %v133239 %v136 = icmp slt i16 %v128, %v135240 %v137 = select i1 %v136, i16 %v128, i16 %v135241 %v138 = icmp slt i16 %v127, %v137242 br i1 %v138, label %b19, label %b35243 244b19: ; preds = %b18, %b16, %b16245 br label %b35246 247b20: ; preds = %b0248 store i16 0, ptr @g0, align 2, !tbaa !0249 %v139 = load i16, ptr %a1, align 2, !tbaa !0250 %v140 = icmp eq i16 %v139, 0251 %v141 = zext i1 %v140 to i16252 %v142 = getelementptr i16, ptr %a1, i32 1253 %v143 = load i16, ptr %v142, align 2, !tbaa !0254 %v144 = icmp eq i16 %v143, 0255 %v145 = zext i1 %v144 to i16256 %v146 = add nuw nsw i16 %v145, %v141257 %v147 = getelementptr i16, ptr %a1, i32 2258 %v148 = load i16, ptr %v147, align 2, !tbaa !0259 %v149 = icmp eq i16 %v148, 0260 %v150 = zext i1 %v149 to i16261 %v151 = add nuw nsw i16 %v150, %v146262 %v152 = getelementptr i16, ptr %a1, i32 3263 %v153 = load i16, ptr %v152, align 2, !tbaa !0264 %v154 = icmp eq i16 %v153, 0265 %v155 = zext i1 %v154 to i16266 %v156 = add nuw nsw i16 %v155, %v151267 %v157 = getelementptr i16, ptr %a1, i32 4268 %v158 = load i16, ptr %v157, align 2, !tbaa !0269 %v159 = icmp eq i16 %v158, 0270 %v160 = zext i1 %v159 to i16271 %v161 = add nuw nsw i16 %v160, %v156272 %v162 = getelementptr i16, ptr %a1, i32 5273 %v163 = load i16, ptr %v162, align 2, !tbaa !0274 %v164 = icmp eq i16 %v163, 0275 %v165 = zext i1 %v164 to i16276 %v166 = add nuw nsw i16 %v165, %v161277 %v167 = getelementptr i16, ptr %a1, i32 6278 %v168 = load i16, ptr %v167, align 2, !tbaa !0279 %v169 = icmp eq i16 %v168, 0280 %v170 = zext i1 %v169 to i16281 %v171 = add nuw nsw i16 %v170, %v166282 %v172 = getelementptr i16, ptr %a1, i32 7283 %v173 = load i16, ptr %v172, align 2, !tbaa !0284 %v174 = icmp eq i16 %v173, 0285 %v175 = zext i1 %v174 to i16286 %v176 = add i16 %v175, %v171287 %v177 = getelementptr i16, ptr %a1, i32 8288 %v178 = load i16, ptr %v177, align 2, !tbaa !0289 %v179 = icmp eq i16 %v178, 0290 %v180 = zext i1 %v179 to i16291 %v181 = add i16 %v180, %v176292 %v182 = getelementptr i16, ptr %a1, i32 9293 %v183 = load i16, ptr %v182, align 2, !tbaa !0294 %v184 = icmp eq i16 %v183, 0295 %v185 = zext i1 %v184 to i16296 %v186 = add i16 %v185, %v181297 %v187 = getelementptr inbounds i16, ptr %a1, i32 10298 %v188 = load i16, ptr %v187, align 2, !tbaa !0299 %v189 = icmp ult i16 %v188, 32300 %v190 = zext i1 %v189 to i16301 %v191 = add i16 %v190, %v186302 %v192 = icmp eq i16 %v191, 11303 br i1 %v192, label %b35, label %b21304 305b21: ; preds = %b20306 tail call void @f3(ptr getelementptr inbounds (%s.0, ptr @g3, i32 0, i32 2, i32 0), ptr @g2)307 %v193 = load i16, ptr @g8, align 2, !tbaa !0308 %v194 = icmp eq i16 %v193, 0309 br i1 %v194, label %b22, label %b35310 311b22: ; preds = %b21312 %v195 = load i16, ptr getelementptr inbounds (%s.0, ptr @g3, i32 0, i32 3), align 2, !tbaa !4313 %v196 = icmp sgt i16 %v195, 100314 br i1 %v196, label %b35, label %b23315 316b23: ; preds = %b22317 %v197 = load i16, ptr @g2, align 2, !tbaa !0318 %v198 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 1), align 2, !tbaa !0319 %v199 = icmp sgt i16 %v197, %v198320 %v200 = select i1 %v199, i16 %v197, i16 %v198321 %v201 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 4), align 2, !tbaa !0322 %v202 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 5), align 2, !tbaa !0323 %v203 = icmp slt i16 %v201, %v202324 %v204 = select i1 %v203, i16 %v201, i16 %v202325 %v205 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 6), align 2, !tbaa !0326 %v206 = icmp slt i16 %v204, %v205327 %v207 = select i1 %v206, i16 %v204, i16 %v205328 %v208 = icmp slt i16 %v200, %v207329 br i1 %v208, label %b24, label %b35330 331b24: ; preds = %b23332 %v209 = load i16, ptr @g5, align 2, !tbaa !0333 switch i16 %v209, label %b26 [334 i16 1, label %b35335 i16 2, label %b25336 ]337 338b25: ; preds = %b24339 %v210 = load i16, ptr @g7, align 2, !tbaa !0340 %v211 = load i16, ptr @g6, align 2341 %v212 = or i16 %v211, %v210342 %v213 = icmp eq i16 %v212, 0343 br i1 %v213, label %b35, label %b27344 345b26: ; preds = %b24346 %v214 = load i16, ptr @g6, align 2347 %v215 = icmp eq i16 %v214, 0348 br i1 %v215, label %b28, label %b35349 350b27: ; preds = %b25351 %v216 = load i16, ptr @g9, align 2352 %v217 = icmp eq i16 %v216, 0353 br i1 %v217, label %b28, label %b35354 355b28: ; preds = %b27, %b26356 %v218 = tail call signext i16 @f4(i16 signext %v195, i16 signext 20)357 store i16 %v218, ptr @g10, align 2, !tbaa !0358 %v219 = load i16, ptr @g11, align 2, !tbaa !0359 %v220 = tail call signext i16 @f6(i16 signext %v218, i16 signext %v219)360 %v221 = tail call signext i16 @f5(i16 signext %v220)361 %v222 = icmp sgt i16 %v221, 15362 br i1 %v222, label %b29, label %b35363 364b29: ; preds = %b28365 call void @llvm.memset.p0.i32(ptr align 2 @g12, i8 0, i32 256, i1 false)366 call void @llvm.memset.p0.i32(ptr align 4 @g13, i8 0, i32 40, i1 false)367 tail call void @f7()368 br label %b35369 370b30: ; preds = %b0371 store i16 0, ptr @g0, align 2, !tbaa !0372 %v223 = load i16, ptr %a1, align 2, !tbaa !0373 %v224 = icmp eq i16 %v223, 0374 %v225 = zext i1 %v224 to i16375 %v226 = getelementptr i16, ptr %a1, i32 1376 %v227 = load i16, ptr %v226, align 2, !tbaa !0377 %v228 = icmp eq i16 %v227, 0378 %v229 = zext i1 %v228 to i16379 %v230 = add nuw nsw i16 %v229, %v225380 %v231 = getelementptr i16, ptr %a1, i32 2381 %v232 = load i16, ptr %v231, align 2, !tbaa !0382 %v233 = icmp eq i16 %v232, 0383 %v234 = zext i1 %v233 to i16384 %v235 = add nuw nsw i16 %v234, %v230385 %v236 = getelementptr i16, ptr %a1, i32 3386 %v237 = load i16, ptr %v236, align 2, !tbaa !0387 %v238 = icmp eq i16 %v237, 0388 %v239 = zext i1 %v238 to i16389 %v240 = add nuw nsw i16 %v239, %v235390 %v241 = getelementptr i16, ptr %a1, i32 4391 %v242 = load i16, ptr %v241, align 2, !tbaa !0392 %v243 = icmp eq i16 %v242, 0393 %v244 = zext i1 %v243 to i16394 %v245 = add nuw nsw i16 %v244, %v240395 %v246 = getelementptr i16, ptr %a1, i32 5396 %v247 = load i16, ptr %v246, align 2, !tbaa !0397 %v248 = icmp eq i16 %v247, 0398 %v249 = zext i1 %v248 to i16399 %v250 = add nuw nsw i16 %v249, %v245400 %v251 = getelementptr i16, ptr %a1, i32 6401 %v252 = load i16, ptr %v251, align 2, !tbaa !0402 %v253 = icmp eq i16 %v252, 0403 %v254 = zext i1 %v253 to i16404 %v255 = add nuw nsw i16 %v254, %v250405 %v256 = getelementptr i16, ptr %a1, i32 7406 %v257 = load i16, ptr %v256, align 2, !tbaa !0407 %v258 = icmp eq i16 %v257, 0408 %v259 = zext i1 %v258 to i16409 %v260 = add i16 %v259, %v255410 %v261 = getelementptr i16, ptr %a1, i32 8411 %v262 = load i16, ptr %v261, align 2, !tbaa !0412 %v263 = icmp eq i16 %v262, 0413 %v264 = zext i1 %v263 to i16414 %v265 = add i16 %v264, %v260415 %v266 = getelementptr i16, ptr %a1, i32 9416 %v267 = load i16, ptr %v266, align 2, !tbaa !0417 %v268 = icmp eq i16 %v267, 0418 %v269 = zext i1 %v268 to i16419 %v270 = add i16 %v269, %v265420 %v271 = getelementptr inbounds i16, ptr %a1, i32 10421 %v272 = load i16, ptr %v271, align 2, !tbaa !0422 %v273 = icmp ult i16 %v272, 32423 %v274 = zext i1 %v273 to i16424 %v275 = add i16 %v274, %v270425 %v276 = icmp eq i16 %v275, 11426 br i1 %v276, label %b35, label %b31427 428b31: ; preds = %b30429 tail call void @f3(ptr getelementptr inbounds (%s.0, ptr @g3, i32 0, i32 2, i32 0), ptr @g2)430 %v277 = load i16, ptr @g14, align 2, !tbaa !0431 %v278 = icmp eq i16 %v277, 0432 br i1 %v278, label %b32, label %b34433 434b32: ; preds = %b31435 %v279 = load i16, ptr getelementptr inbounds (%s.0, ptr @g3, i32 0, i32 3), align 2, !tbaa !4436 %v280 = icmp sgt i16 %v279, 100437 br i1 %v280, label %b35, label %b33438 439b33: ; preds = %b32440 %v281 = load i16, ptr @g2, align 2, !tbaa !0441 %v282 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 1), align 2, !tbaa !0442 %v283 = icmp sgt i16 %v281, %v282443 %v284 = select i1 %v283, i16 %v281, i16 %v282444 %v285 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 4), align 2, !tbaa !0445 %v286 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 5), align 2, !tbaa !0446 %v287 = icmp slt i16 %v285, %v286447 %v288 = select i1 %v287, i16 %v285, i16 %v286448 %v289 = load i16, ptr getelementptr inbounds ([10 x i16], ptr @g2, i32 0, i32 6), align 2, !tbaa !0449 %v290 = icmp slt i16 %v288, %v289450 %v291 = select i1 %v290, i16 %v288, i16 %v289451 %v292 = icmp slt i16 %v284, %v291452 br i1 %v292, label %b34, label %b35453 454b34: ; preds = %b33, %b31455 br label %b35456 457b35: ; preds = %b34, %b33, %b32, %b30, %b29, %b28, %b27, %b26, %b25, %b24, %b23, %b22, %b21, %b20, %b19, %b18, %b17, %b15, %b14, %b13, %b12, %b11, %b10, %b9, %b8, %b7, %b6, %b5, %b3, %b0458 %v293 = phi i16 [ 0, %b34 ], [ 1, %b29 ], [ 0, %b19 ], [ 0, %b14 ], [ 0, %b10 ], [ 0, %b3 ], [ 0, %b8 ], [ 1, %b5 ], [ 1, %b6 ], [ 1, %b9 ], [ 1, %b11 ], [ 1, %b12 ], [ 1, %b15 ], [ 1, %b17 ], [ 1, %b18 ], [ 1, %b20 ], [ 1, %b22 ], [ 1, %b23 ], [ 1, %b24 ], [ 0, %b27 ], [ 0, %b28 ], [ 0, %b21 ], [ 1, %b30 ], [ 1, %b32 ], [ 1, %b33 ], [ 0, %b0 ], [ 1, %b7 ], [ 1, %b13 ], [ 1, %b25 ], [ 0, %b26 ]459 ret i16 %v293460}461 462; Function Attrs: nounwind463declare void @f1(ptr, ptr, ptr, ptr, ptr) #0464 465; Function Attrs: nounwind466declare void @f2(ptr, ptr) #0467 468; Function Attrs: nounwind469declare void @f3(ptr, ptr) #0470 471; Function Attrs: nounwind472declare signext i16 @f4(i16 signext, i16 signext) #0473 474; Function Attrs: nounwind475declare signext i16 @f5(i16 signext) #0476 477; Function Attrs: nounwind478declare signext i16 @f6(i16 signext, i16 signext) #0479 480; Function Attrs: nounwind481declare void @f7() #0482 483; Function Attrs: argmemonly nounwind484declare void @llvm.memset.p0.i32(ptr nocapture writeonly, i8, i32, i1) #1485 486attributes #0 = { nounwind }487attributes #1 = { argmemonly nounwind }488 489!0 = !{!1, !1, i64 0}490!1 = !{!"short", !2, i64 0}491!2 = !{!"omnipotent char", !3, i64 0}492!3 = !{!"Simple C/C++ TBAA"}493!4 = !{!5, !1, i64 12}494!5 = !{!"_ZTS6PACKET", !1, i64 0, !1, i64 2, !2, i64 4, !1, i64 12, !1, i64 14, !2, i64 16, !2, i64 22, !2, i64 46, !2, i64 52, !1, i64 60, !1, i64 62, !1, i64 64, !1, i64 66, !2, i64 68, !1, i64 72, !1, i64 74, !2, i64 76, !2, i64 82}495