182 lines · plain
1; RUN: opt < %s -passes='print<iv-users>'2; This is a regression test against very slow execution...3; In bad case it should fail by timeout.4target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:1"5target triple = "x86_64-unknown-linux-gnu"6 7define void @quux(ptr addrspace(1) %arg, ptr addrspace(1) %arg1) {8bb:9 %tmp2 = getelementptr inbounds i8, ptr addrspace(1) %arg, i64 8010 %tmp3 = bitcast ptr addrspace(1) %tmp2 to ptr addrspace(1)11 %tmp4 = load ptr addrspace(1), ptr addrspace(1) %tmp3, align 812 %tmp5 = getelementptr inbounds i8, ptr addrspace(1) %tmp4, i64 813 %tmp6 = bitcast ptr addrspace(1) %tmp5 to ptr addrspace(1)14 %tmp7 = load ptr addrspace(1), ptr addrspace(1) %tmp6, align 815 %tmp8 = getelementptr inbounds i8, ptr addrspace(1) %tmp7, i64 816 %tmp9 = bitcast ptr addrspace(1) %tmp8 to ptr addrspace(1)17 %tmp10 = load i32, ptr addrspace(1) %tmp9, align 818 %tmp11 = udiv i32 65, %tmp1019 %tmp12 = getelementptr inbounds i8, ptr addrspace(1) %arg, i64 8020 %tmp13 = bitcast ptr addrspace(1) %tmp12 to ptr addrspace(1)21 %tmp14 = load ptr addrspace(1), ptr addrspace(1) %tmp13, align 822 %tmp15 = getelementptr inbounds i8, ptr addrspace(1) %tmp14, i64 823 %tmp16 = bitcast ptr addrspace(1) %tmp15 to ptr addrspace(1)24 %tmp17 = load ptr addrspace(1), ptr addrspace(1) %tmp16, align 825 %tmp18 = getelementptr inbounds i8, ptr addrspace(1) %arg1, i64 826 %tmp19 = bitcast ptr addrspace(1) %tmp18 to ptr addrspace(1)27 %tmp20 = load i32, ptr addrspace(1) %tmp19, align 8, !range !028 %tmp21 = getelementptr inbounds i8, ptr addrspace(1) %tmp17, i64 829 %tmp22 = bitcast ptr addrspace(1) %tmp21 to ptr addrspace(1)30 %tmp23 = load i32, ptr addrspace(1) %tmp22, align 8, !range !031 %tmp24 = zext i32 %tmp23 to i6432 %tmp25 = and i32 %tmp11, 733 %tmp26 = icmp ugt i32 %tmp10, 934 br i1 %tmp26, label %bb27, label %bb4635 36bb27: ; preds = %bb117, %bb37 %tmp28 = phi i32 [ 8, %bb ], [ %tmp112, %bb117 ]38 br label %bb2939 40bb29: ; preds = %bb40, %bb2741 %tmp30 = phi i32 [ %tmp43, %bb40 ], [ %tmp28, %bb27 ]42 %tmp31 = phi i32 [ %tmp41, %bb40 ], [ %tmp25, %bb27 ]43 br label %bb3244 45bb32: ; preds = %bb37, %bb2946 %tmp33 = phi i64 [ 0, %bb29 ], [ %tmp38, %bb37 ]47 %tmp34 = trunc i64 %tmp33 to i3248 %tmp35 = add i32 %tmp30, %tmp3449 %tmp36 = icmp ult i32 %tmp35, %tmp2050 br i1 %tmp36, label %bb37, label %bb5651 52bb37: ; preds = %bb3253 %tmp38 = add nuw nsw i64 %tmp33, 154 %tmp39 = icmp ult i64 %tmp38, %tmp2455 br i1 %tmp39, label %bb32, label %bb4056 57bb40: ; preds = %bb3758 %tmp41 = add i32 %tmp31, -159 %tmp42 = trunc i64 %tmp38 to i3260 %tmp43 = add i32 %tmp30, %tmp4261 %tmp44 = icmp eq i32 %tmp41, 062 br i1 %tmp44, label %bb45, label %bb2963 64bb45: ; preds = %bb4065 ret void66 67bb46: ; preds = %bb68 %tmp47 = sub nsw i32 %tmp11, %tmp2569 br label %bb4870 71bb48: ; preds = %bb117, %bb4672 %tmp49 = phi i32 [ 8, %bb46 ], [ %tmp112, %bb117 ]73 %tmp50 = phi i32 [ %tmp47, %bb46 ], [ %tmp118, %bb117 ]74 br label %bb5175 76bb51: ; preds = %bb58, %bb4877 %tmp52 = phi i64 [ 0, %bb48 ], [ %tmp59, %bb58 ]78 %tmp53 = phi i32 [ %tmp49, %bb48 ], [ %tmp54, %bb58 ]79 %tmp54 = add i32 %tmp53, 180 %tmp55 = icmp ult i32 %tmp53, %tmp2081 br i1 %tmp55, label %bb58, label %bb5682 83bb56: ; preds = %bb109, %bb101, %bb93, %bb85, %bb77, %bb69, %bb61, %bb51, %bb3284 unreachable85 86bb58: ; preds = %bb5187 %tmp59 = add nuw nsw i64 %tmp52, 188 %tmp60 = icmp ult i64 %tmp59, %tmp2489 br i1 %tmp60, label %bb51, label %bb6190 91bb61: ; preds = %bb66, %bb5892 %tmp62 = phi i64 [ %tmp67, %bb66 ], [ 0, %bb58 ]93 %tmp63 = phi i32 [ %tmp64, %bb66 ], [ %tmp54, %bb58 ]94 %tmp64 = add i32 %tmp63, 195 %tmp65 = icmp ult i32 %tmp63, %tmp2096 br i1 %tmp65, label %bb66, label %bb5697 98bb66: ; preds = %bb6199 %tmp67 = add nuw nsw i64 %tmp62, 1100 %tmp68 = icmp ult i64 %tmp67, %tmp24101 br i1 %tmp68, label %bb61, label %bb69102 103bb69: ; preds = %bb74, %bb66104 %tmp70 = phi i64 [ %tmp75, %bb74 ], [ 0, %bb66 ]105 %tmp71 = phi i32 [ %tmp72, %bb74 ], [ %tmp64, %bb66 ]106 %tmp72 = add i32 %tmp71, 1107 %tmp73 = icmp ult i32 %tmp71, %tmp20108 br i1 %tmp73, label %bb74, label %bb56109 110bb74: ; preds = %bb69111 %tmp75 = add nuw nsw i64 %tmp70, 1112 %tmp76 = icmp ult i64 %tmp75, %tmp24113 br i1 %tmp76, label %bb69, label %bb77114 115bb77: ; preds = %bb82, %bb74116 %tmp78 = phi i64 [ %tmp83, %bb82 ], [ 0, %bb74 ]117 %tmp79 = phi i32 [ %tmp80, %bb82 ], [ %tmp72, %bb74 ]118 %tmp80 = add i32 %tmp79, 1119 %tmp81 = icmp ult i32 %tmp79, %tmp20120 br i1 %tmp81, label %bb82, label %bb56121 122bb82: ; preds = %bb77123 %tmp83 = add nuw nsw i64 %tmp78, 1124 %tmp84 = icmp ult i64 %tmp83, %tmp24125 br i1 %tmp84, label %bb77, label %bb85126 127bb85: ; preds = %bb90, %bb82128 %tmp86 = phi i64 [ %tmp91, %bb90 ], [ 0, %bb82 ]129 %tmp87 = phi i32 [ %tmp88, %bb90 ], [ %tmp80, %bb82 ]130 %tmp88 = add i32 %tmp87, 1131 %tmp89 = icmp ult i32 %tmp87, %tmp20132 br i1 %tmp89, label %bb90, label %bb56133 134bb90: ; preds = %bb85135 %tmp91 = add nuw nsw i64 %tmp86, 1136 %tmp92 = icmp ult i64 %tmp91, %tmp24137 br i1 %tmp92, label %bb85, label %bb93138 139bb93: ; preds = %bb98, %bb90140 %tmp94 = phi i64 [ %tmp99, %bb98 ], [ 0, %bb90 ]141 %tmp95 = phi i32 [ %tmp96, %bb98 ], [ %tmp88, %bb90 ]142 %tmp96 = add i32 %tmp95, 1143 %tmp97 = icmp ult i32 %tmp95, %tmp20144 br i1 %tmp97, label %bb98, label %bb56145 146bb98: ; preds = %bb93147 %tmp99 = add nuw nsw i64 %tmp94, 1148 %tmp100 = icmp ult i64 %tmp99, %tmp24149 br i1 %tmp100, label %bb93, label %bb101150 151bb101: ; preds = %bb106, %bb98152 %tmp102 = phi i64 [ %tmp107, %bb106 ], [ 0, %bb98 ]153 %tmp103 = phi i32 [ %tmp104, %bb106 ], [ %tmp96, %bb98 ]154 %tmp104 = add i32 %tmp103, 1155 %tmp105 = icmp ult i32 %tmp103, %tmp20156 br i1 %tmp105, label %bb106, label %bb56157 158bb106: ; preds = %bb101159 %tmp107 = add nuw nsw i64 %tmp102, 1160 %tmp108 = icmp ult i64 %tmp107, %tmp24161 br i1 %tmp108, label %bb101, label %bb109162 163bb109: ; preds = %bb114, %bb106164 %tmp110 = phi i64 [ %tmp115, %bb114 ], [ 0, %bb106 ]165 %tmp111 = phi i32 [ %tmp112, %bb114 ], [ %tmp104, %bb106 ]166 %tmp112 = add i32 %tmp111, 1167 %tmp113 = icmp ult i32 %tmp111, %tmp20168 br i1 %tmp113, label %bb114, label %bb56169 170bb114: ; preds = %bb109171 %tmp115 = add nuw nsw i64 %tmp110, 1172 %tmp116 = icmp ult i64 %tmp115, %tmp24173 br i1 %tmp116, label %bb109, label %bb117174 175bb117: ; preds = %bb114176 %tmp118 = add i32 %tmp50, -8177 %tmp119 = icmp eq i32 %tmp118, 0178 br i1 %tmp119, label %bb27, label %bb48179}180 181!0 = !{i32 0, i32 2147483647}182