203 lines · plain
1; RUN: opt < %s -passes=correlated-propagation2 3; PR81614define void @test1() nounwind ssp {5entry:6 br label %for.end7 8for.cond.us.us: ; preds = %for.cond.us.us9 %cmp6.i.us.us = icmp sgt i32 1, 010 %lor.ext.i.us.us = zext i1 %cmp6.i.us.us to i3211 %lor.ext.add.i.us.us = select i1 %cmp6.i.us.us, i32 %lor.ext.i.us.us, i32 undef12 %conv.i.us.us = trunc i32 %lor.ext.add.i.us.us to i1613 %sext.us.us = shl i16 %conv.i.us.us, 814 %conv6.us.us = ashr i16 %sext.us.us, 815 %and.us.us = and i16 %conv6.us.us, %and.us.us16 br i1 false, label %for.end, label %for.cond.us.us17 18for.end: ; preds = %for.cond.us, %for.cond.us.us, %entry19 ret void20}21 22; PR 879023define void @test2() nounwind ssp {24entry:25 br label %func_29.exit26 27sdf.exit.i:28 %l_44.1.mux.i = select i1 %tobool5.not.i, i8 %l_44.1.mux.i, i8 129 br label %srf.exit.i30 31srf.exit.i:32 %tobool5.not.i = icmp ne i8 undef, 033 br i1 %tobool5.not.i, label %sdf.exit.i, label %func_29.exit34 35func_29.exit:36 ret void37}38 39; PR1397240define void @test3(i1 %arg) nounwind {41for.body:42 br label %return43 44for.cond.i: ; preds = %if.else.i, %for.body.i45 %e.2.i = phi i32 [ %e.2.i, %if.else.i ], [ -8, %for.body.i ]46 br i1 %arg, label %return, label %for.body.i47 48for.body.i: ; preds = %for.cond.i49 switch i32 %e.2.i, label %for.cond3.i [50 i32 -3, label %if.else.i51 i32 0, label %for.cond.i52 ]53 54for.cond3.i: ; preds = %for.cond3.i, %for.body.i55 br label %for.cond3.i56 57if.else.i: ; preds = %for.body.i58 br label %for.cond.i59 60return: ; preds = %for.cond.i, %for.body61 ret void62}63 64define i1 @test4(i32 %int) {65 %a0 = icmp ult i32 %int, 10066 %a1 = and i1 %a0, %a067 %a2 = and i1 %a1, %a168 %a3 = and i1 %a2, %a269 %a4 = and i1 %a3, %a370 %a5 = and i1 %a4, %a471 %a6 = and i1 %a5, %a572 %a7 = and i1 %a6, %a673 %a8 = and i1 %a7, %a774 %a9 = and i1 %a8, %a875 %a10 = and i1 %a9, %a976 %a11 = and i1 %a10, %a1077 %a12 = and i1 %a11, %a1178 %a13 = and i1 %a12, %a1279 %a14 = and i1 %a13, %a1380 %a15 = and i1 %a14, %a1481 %a16 = and i1 %a15, %a1582 %a17 = and i1 %a16, %a1683 %a18 = and i1 %a17, %a1784 %a19 = and i1 %a18, %a1885 %a20 = and i1 %a19, %a1986 %a21 = and i1 %a20, %a2087 %a22 = and i1 %a21, %a2188 %a23 = and i1 %a22, %a2289 %a24 = and i1 %a23, %a2390 %a25 = and i1 %a24, %a2491 %a26 = and i1 %a25, %a2592 %a27 = and i1 %a26, %a2693 %a28 = and i1 %a27, %a2794 %a29 = and i1 %a28, %a2895 %a30 = and i1 %a29, %a2996 %a31 = and i1 %a30, %a3097 %a32 = and i1 %a31, %a3198 %a33 = and i1 %a32, %a3299 %a34 = and i1 %a33, %a33100 %a35 = and i1 %a34, %a34101 %a36 = and i1 %a35, %a35102 %a37 = and i1 %a36, %a36103 %a38 = and i1 %a37, %a37104 %a39 = and i1 %a38, %a38105 %a40 = and i1 %a39, %a39106 %a41 = and i1 %a40, %a40107 %a42 = and i1 %a41, %a41108 %a43 = and i1 %a42, %a42109 %a44 = and i1 %a43, %a43110 %a45 = and i1 %a44, %a44111 %a46 = and i1 %a45, %a45112 %a47 = and i1 %a46, %a46113 %a48 = and i1 %a47, %a47114 %a49 = and i1 %a48, %a48115 %a50 = and i1 %a49, %a49116 %a51 = and i1 %a50, %a50117 %a52 = and i1 %a51, %a51118 %a53 = and i1 %a52, %a52119 %a54 = and i1 %a53, %a53120 %a55 = and i1 %a54, %a54121 %a56 = and i1 %a55, %a55122 %a57 = and i1 %a56, %a56123 %a58 = and i1 %a57, %a57124 %a59 = and i1 %a58, %a58125 %a60 = and i1 %a59, %a59126 %a61 = and i1 %a60, %a60127 %a62 = and i1 %a61, %a61128 %a63 = and i1 %a62, %a62129 %a64 = and i1 %a63, %a63130 %a65 = and i1 %a64, %a64131 %a66 = and i1 %a65, %a65132 %a67 = and i1 %a66, %a66133 %a68 = and i1 %a67, %a67134 %a69 = and i1 %a68, %a68135 %a70 = and i1 %a69, %a69136 %a71 = and i1 %a70, %a70137 %a72 = and i1 %a71, %a71138 %a73 = and i1 %a72, %a72139 %a74 = and i1 %a73, %a73140 %a75 = and i1 %a74, %a74141 %a76 = and i1 %a75, %a75142 %a77 = and i1 %a76, %a76143 %a78 = and i1 %a77, %a77144 %a79 = and i1 %a78, %a78145 %a80 = and i1 %a79, %a79146 %a81 = and i1 %a80, %a80147 %a82 = and i1 %a81, %a81148 %a83 = and i1 %a82, %a82149 %a84 = and i1 %a83, %a83150 %a85 = and i1 %a84, %a84151 %a86 = and i1 %a85, %a85152 %a87 = and i1 %a86, %a86153 %a88 = and i1 %a87, %a87154 %a89 = and i1 %a88, %a88155 %a90 = and i1 %a89, %a89156 %a91 = and i1 %a90, %a90157 %a92 = and i1 %a91, %a91158 %a93 = and i1 %a92, %a92159 %a94 = and i1 %a93, %a93160 %a95 = and i1 %a94, %a94161 %a96 = and i1 %a95, %a95162 %a97 = and i1 %a96, %a96163 %a98 = and i1 %a97, %a97164 %a99 = and i1 %a98, %a98165 %a100 = and i1 %a99, %a99166 %a101 = and i1 %a100, %a100167 %a102 = and i1 %a101, %a101168 %a103 = and i1 %a102, %a102169 %a104 = and i1 %a103, %a103170 %a105 = and i1 %a104, %a104171 %a106 = and i1 %a105, %a105172 %a107 = and i1 %a106, %a106173 %a108 = and i1 %a107, %a107174 %a109 = and i1 %a108, %a108175 %a110 = and i1 %a109, %a109176 %a111 = and i1 %a110, %a110177 %a112 = and i1 %a111, %a111178 %a113 = and i1 %a112, %a112179 %a114 = and i1 %a113, %a113180 %a115 = and i1 %a114, %a114181 %a116 = and i1 %a115, %a115182 %a117 = and i1 %a116, %a116183 %a118 = and i1 %a117, %a117184 %a119 = and i1 %a118, %a118185 %a120 = and i1 %a119, %a119186 %a121 = and i1 %a120, %a120187 %a122 = and i1 %a121, %a121188 %a123 = and i1 %a122, %a122189 %a124 = and i1 %a123, %a123190 %a125 = and i1 %a124, %a124191 %a126 = and i1 %a125, %a125192 %a127 = and i1 %a126, %a126193 %cond = and i1 %a127, %a127194 br i1 %cond, label %then, label %else195 196then:197 %result = icmp eq i32 %int, 255198 ret i1 %result199 200else:201 ret i1 false202}203