196 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S -passes=normalize < %s | FileCheck %s3 4define void @test(ptr, i32) {5; CHECK-LABEL: define void @test(6; CHECK-SAME: ptr [[A0:%.*]], i32 [[A1:%.*]]) {7; CHECK-NEXT: [[BB76951:.*]]:8; CHECK-NEXT: %"vl72693([[A1]], 1)" = add i32 [[A1]], 19; CHECK-NEXT: br label %[[BB16110:.*]]10; CHECK: [[BB16110]]:11; CHECK-NEXT: %"op81283(op18080, vl72693)" = phi i32 [ %"op18080(op10412, op18131)", %[[BB16110]] ], [ %"vl72693([[A1]], 1)", %[[BB76951]] ]12; CHECK-NEXT: %"op81283(op18131, vl72693)" = phi i32 [ %"op18131(op81283)70", %[[BB16110]] ], [ %"vl72693([[A1]], 1)", %[[BB76951]] ]13; CHECK-NEXT: %"op13219(op81283)" = mul i32 %"op81283(op18080, vl72693)", undef14; CHECK-NEXT: %"op16562(op13219)" = xor i32 -1, %"op13219(op81283)"15; CHECK-NEXT: %"op12556(op16562, op81283)" = add i32 %"op16562(op13219)", %"op81283(op18080, vl72693)"16; CHECK-NEXT: %"op18131(op81283)" = add i32 -1, %"op81283(op18131, vl72693)"17; CHECK-NEXT: %"op18080(op12556, op18131)" = add i32 %"op12556(op16562, op81283)", %"op18131(op81283)"18; CHECK-NEXT: %"op17720(op13219, op18080)" = mul i32 %"op13219(op81283)", %"op18080(op12556, op18131)"19; CHECK-NEXT: %"op16562(op17720)" = xor i32 -1, %"op17720(op13219, op18080)"20; CHECK-NEXT: %"op17430(op16562, op18080)" = add i32 %"op16562(op17720)", %"op18080(op12556, op18131)"21; CHECK-NEXT: %"op10412(op17430)" = add i32 %"op17430(op16562, op18080)", undef22; CHECK-NEXT: %"op17720(op10412, op17720)" = mul i32 %"op10412(op17430)", %"op17720(op13219, op18080)"23; CHECK-NEXT: %"op16562(op17720)1" = xor i32 -1, %"op17720(op10412, op17720)"24; CHECK-NEXT: %"op17430(op10412, op16562)" = add i32 %"op10412(op17430)", %"op16562(op17720)1"25; CHECK-NEXT: %"op10412(op17430)2" = add i32 %"op17430(op10412, op16562)", undef26; CHECK-NEXT: %"op10412(op10412)" = add i32 %"op10412(op17430)2", undef27; CHECK-NEXT: %"op10412(op10412)3" = add i32 %"op10412(op10412)", undef28; CHECK-NEXT: %"op17720(op10412, op17720)4" = mul i32 %"op10412(op17430)2", %"op17720(op10412, op17720)"29; CHECK-NEXT: %"op17720(op10412, op17720)5" = mul i32 %"op10412(op10412)3", %"op17720(op10412, op17720)4"30; CHECK-NEXT: %"op16562(op17720)6" = xor i32 -1, %"op17720(op10412, op17720)5"31; CHECK-NEXT: %"op17430(op10412, op16562)7" = add i32 %"op10412(op10412)3", %"op16562(op17720)6"32; CHECK-NEXT: %"op10412(op17430)8" = add i32 %"op17430(op10412, op16562)7", undef33; CHECK-NEXT: %"op17720(op10412, op17720)9" = mul i32 %"op10412(op17430)8", %"op17720(op10412, op17720)5"34; CHECK-NEXT: %"op16562(op17720)10" = xor i32 -1, %"op17720(op10412, op17720)9"35; CHECK-NEXT: %"op17430(op10412, op16562)11" = add i32 %"op10412(op17430)8", %"op16562(op17720)10"36; CHECK-NEXT: %"op10412(op17430)12" = add i32 %"op17430(op10412, op16562)11", undef37; CHECK-NEXT: %"op17720(op10412, op17720)13" = mul i32 %"op10412(op17430)12", %"op17720(op10412, op17720)9"38; CHECK-NEXT: %"op16562(op17720)14" = xor i32 -1, %"op17720(op10412, op17720)13"39; CHECK-NEXT: %"op17430(op10412, op16562)15" = add i32 %"op10412(op17430)12", %"op16562(op17720)14"40; CHECK-NEXT: %"op10412(op17430)16" = add i32 %"op17430(op10412, op16562)15", undef41; CHECK-NEXT: %"op17720(op10412, op17720)17" = mul i32 %"op10412(op17430)16", %"op17720(op10412, op17720)13"42; CHECK-NEXT: %"op16562(op17720)18" = xor i32 -1, %"op17720(op10412, op17720)17"43; CHECK-NEXT: %"op17430(op10412, op16562)19" = add i32 %"op10412(op17430)16", %"op16562(op17720)18"44; CHECK-NEXT: %"op10412(op17430)20" = add i32 %"op17430(op10412, op16562)19", undef45; CHECK-NEXT: %"op17720(op10412, op17720)21" = mul i32 %"op10412(op17430)20", %"op17720(op10412, op17720)17"46; CHECK-NEXT: %"op16562(op17720)22" = xor i32 -1, %"op17720(op10412, op17720)21"47; CHECK-NEXT: %"op17430(op10412, op16562)23" = add i32 %"op10412(op17430)20", %"op16562(op17720)22"48; CHECK-NEXT: %"op18131(op81283)24" = add i32 -9, %"op81283(op18131, vl72693)"49; CHECK-NEXT: %"op18080(op17430, op18131)" = add i32 %"op17430(op10412, op16562)23", %"op18131(op81283)24"50; CHECK-NEXT: %"op17720(op17720, op18080)" = mul i32 %"op17720(op10412, op17720)21", %"op18080(op17430, op18131)"51; CHECK-NEXT: %"op16562(op17720)25" = xor i32 -1, %"op17720(op17720, op18080)"52; CHECK-NEXT: %"op17430(op16562, op18080)26" = add i32 %"op16562(op17720)25", %"op18080(op17430, op18131)"53; CHECK-NEXT: %"op10412(op17430)27" = add i32 %"op17430(op16562, op18080)26", undef54; CHECK-NEXT: %"op17720(op10412, op17720)28" = mul i32 %"op10412(op17430)27", %"op17720(op17720, op18080)"55; CHECK-NEXT: %"op16562(op17720)29" = xor i32 -1, %"op17720(op10412, op17720)28"56; CHECK-NEXT: %"op17430(op10412, op16562)30" = add i32 %"op10412(op17430)27", %"op16562(op17720)29"57; CHECK-NEXT: %"op10412(op17430)31" = add i32 %"op17430(op10412, op16562)30", undef58; CHECK-NEXT: %"op17720(op10412, op17720)32" = mul i32 %"op10412(op17430)31", %"op17720(op10412, op17720)28"59; CHECK-NEXT: %"op16562(op17720)33" = xor i32 -1, %"op17720(op10412, op17720)32"60; CHECK-NEXT: %"op17430(op10412, op16562)34" = add i32 %"op10412(op17430)31", %"op16562(op17720)33"61; CHECK-NEXT: %"op10412(op17430)35" = add i32 %"op17430(op10412, op16562)34", undef62; CHECK-NEXT: %"op17720(op10412, op17720)36" = mul i32 %"op10412(op17430)35", %"op17720(op10412, op17720)32"63; CHECK-NEXT: %"op16562(op17720)37" = xor i32 -1, %"op17720(op10412, op17720)36"64; CHECK-NEXT: %"op17430(op10412, op16562)38" = add i32 %"op10412(op17430)35", %"op16562(op17720)37"65; CHECK-NEXT: %"op10412(op17430)39" = add i32 %"op17430(op10412, op16562)38", undef66; CHECK-NEXT: %"op17720(op10412, op17720)40" = mul i32 %"op10412(op17430)39", %"op17720(op10412, op17720)36"67; CHECK-NEXT: %"op16562(op17720)41" = xor i32 -1, %"op17720(op10412, op17720)40"68; CHECK-NEXT: %"op17430(op10412, op16562)42" = add i32 %"op10412(op17430)39", %"op16562(op17720)41"69; CHECK-NEXT: %"op18131(op81283)43" = add i32 -14, %"op81283(op18131, vl72693)"70; CHECK-NEXT: %"op18080(op17430, op18131)44" = add i32 %"op17430(op10412, op16562)42", %"op18131(op81283)43"71; CHECK-NEXT: %"op17720(op17720, op18080)45" = mul i32 %"op17720(op10412, op17720)40", %"op18080(op17430, op18131)44"72; CHECK-NEXT: %"op16562(op17720)46" = xor i32 -1, %"op17720(op17720, op18080)45"73; CHECK-NEXT: %"op17430(op16562, op18080)47" = add i32 %"op16562(op17720)46", %"op18080(op17430, op18131)44"74; CHECK-NEXT: %"op10412(op17430)48" = add i32 %"op17430(op16562, op18080)47", undef75; CHECK-NEXT: %"op17720(op10412, op17720)49" = mul i32 %"op10412(op17430)48", %"op17720(op17720, op18080)45"76; CHECK-NEXT: %"op16562(op17720)50" = xor i32 -1, %"op17720(op10412, op17720)49"77; CHECK-NEXT: %"op17430(op10412, op16562)51" = add i32 %"op10412(op17430)48", %"op16562(op17720)50"78; CHECK-NEXT: %"op10412(op17430)52" = add i32 %"op17430(op10412, op16562)51", undef79; CHECK-NEXT: %"op17720(op10412, op17720)53" = mul i32 %"op10412(op17430)52", %"op17720(op10412, op17720)49"80; CHECK-NEXT: %"op16562(op17720)54" = xor i32 -1, %"op17720(op10412, op17720)53"81; CHECK-NEXT: %"op17430(op10412, op16562)55" = add i32 %"op10412(op17430)52", %"op16562(op17720)54"82; CHECK-NEXT: %"op10412(op17430)56" = add i32 %"op17430(op10412, op16562)55", undef83; CHECK-NEXT: %"op17720(op10412, op17720)57" = mul i32 %"op10412(op17430)56", %"op17720(op10412, op17720)53"84; CHECK-NEXT: %"op16562(op17720)58" = xor i32 -1, %"op17720(op10412, op17720)57"85; CHECK-NEXT: %"op17430(op10412, op16562)59" = add i32 %"op10412(op17430)56", %"op16562(op17720)58"86; CHECK-NEXT: %"op10412(op17430)60" = add i32 %"op17430(op10412, op16562)59", undef87; CHECK-NEXT: %"op17720(op10412, op17720)61" = mul i32 %"op10412(op17430)60", %"op17720(op10412, op17720)57"88; CHECK-NEXT: %"op16562(op17720)62" = xor i32 -1, %"op17720(op10412, op17720)61"89; CHECK-NEXT: %"op17430(op10412, op16562)63" = add i32 %"op10412(op17430)60", %"op16562(op17720)62"90; CHECK-NEXT: %"op10412(op17430)64" = add i32 %"op17430(op10412, op16562)63", undef91; CHECK-NEXT: %"op17720(op10412, op17720)65" = mul i32 %"op10412(op17430)64", %"op17720(op10412, op17720)61"92; CHECK-NEXT: %"op16562(op17720)66" = xor i32 -1, %"op17720(op10412, op17720)65"93; CHECK-NEXT: %"op17430(op10412, op16562)67" = add i32 %"op10412(op17430)64", %"op16562(op17720)66"94; CHECK-NEXT: %"op10412(op17430)68" = add i32 %"op17430(op10412, op16562)67", undef95; CHECK-NEXT: %"op10412(op10412)69" = add i32 %"op10412(op17430)68", undef96; CHECK-NEXT: %"op18131(op81283)70" = add i32 -21, %"op81283(op18131, vl72693)"97; CHECK-NEXT: %"op18080(op10412, op18131)" = add i32 %"op10412(op10412)69", %"op18131(op81283)70"98; CHECK-NEXT: store i32 %"op18080(op10412, op18131)", ptr [[A0]], align 499; CHECK-NEXT: br label %[[BB16110]]100;101bb:102 %a = add i32 %1, 1103 br label %bb1104 105bb1: ; preds = %bb1, %bb106 %tmp = phi i32 [ %a, %bb ], [ %tmp87, %bb1 ]107 %tmp2 = phi i32 [ %a, %bb ], [ %tmp86, %bb1 ]108 %tmp3 = mul i32 %tmp, undef109 %tmp4 = xor i32 %tmp3, -1110 %tmp5 = add i32 %tmp, %tmp4111 %tmp6 = add i32 %tmp2, -1112 %tmp7 = add i32 %tmp5, %tmp6113 %tmp8 = mul i32 %tmp7, %tmp3114 %tmp9 = xor i32 %tmp8, -1115 %tmp10 = add i32 %tmp7, %tmp9116 %tmp11 = add i32 %tmp10, undef117 %tmp12 = mul i32 %tmp11, %tmp8118 %tmp13 = xor i32 %tmp12, -1119 %tmp14 = add i32 %tmp11, %tmp13120 %tmp15 = add i32 %tmp14, undef121 %tmp16 = mul i32 %tmp15, %tmp12122 %tmp17 = add i32 %tmp15, undef123 %tmp18 = add i32 %tmp17, undef124 %tmp19 = mul i32 %tmp18, %tmp16125 %tmp20 = xor i32 %tmp19, -1126 %tmp21 = add i32 %tmp18, %tmp20127 %tmp22 = add i32 %tmp21, undef128 %tmp23 = mul i32 %tmp22, %tmp19129 %tmp24 = xor i32 %tmp23, -1130 %tmp25 = add i32 %tmp22, %tmp24131 %tmp26 = add i32 %tmp25, undef132 %tmp27 = mul i32 %tmp26, %tmp23133 %tmp28 = xor i32 %tmp27, -1134 %tmp29 = add i32 %tmp26, %tmp28135 %tmp30 = add i32 %tmp29, undef136 %tmp31 = mul i32 %tmp30, %tmp27137 %tmp32 = xor i32 %tmp31, -1138 %tmp33 = add i32 %tmp30, %tmp32139 %tmp34 = add i32 %tmp33, undef140 %tmp35 = mul i32 %tmp34, %tmp31141 %tmp36 = xor i32 %tmp35, -1142 %tmp37 = add i32 %tmp34, %tmp36143 %tmp38 = add i32 %tmp2, -9144 %tmp39 = add i32 %tmp37, %tmp38145 %tmp40 = mul i32 %tmp39, %tmp35146 %tmp41 = xor i32 %tmp40, -1147 %tmp42 = add i32 %tmp39, %tmp41148 %tmp43 = add i32 %tmp42, undef149 %tmp44 = mul i32 %tmp43, %tmp40150 %tmp45 = xor i32 %tmp44, -1151 %tmp46 = add i32 %tmp43, %tmp45152 %tmp47 = add i32 %tmp46, undef153 %tmp48 = mul i32 %tmp47, %tmp44154 %tmp49 = xor i32 %tmp48, -1155 %tmp50 = add i32 %tmp47, %tmp49156 %tmp51 = add i32 %tmp50, undef157 %tmp52 = mul i32 %tmp51, %tmp48158 %tmp53 = xor i32 %tmp52, -1159 %tmp54 = add i32 %tmp51, %tmp53160 %tmp55 = add i32 %tmp54, undef161 %tmp56 = mul i32 %tmp55, %tmp52162 %tmp57 = xor i32 %tmp56, -1163 %tmp58 = add i32 %tmp55, %tmp57164 %tmp59 = add i32 %tmp2, -14165 %tmp60 = add i32 %tmp58, %tmp59166 %tmp61 = mul i32 %tmp60, %tmp56167 %tmp62 = xor i32 %tmp61, -1168 %tmp63 = add i32 %tmp60, %tmp62169 %tmp64 = add i32 %tmp63, undef170 %tmp65 = mul i32 %tmp64, %tmp61171 %tmp66 = xor i32 %tmp65, -1172 %tmp67 = add i32 %tmp64, %tmp66173 %tmp68 = add i32 %tmp67, undef174 %tmp69 = mul i32 %tmp68, %tmp65175 %tmp70 = xor i32 %tmp69, -1176 %tmp71 = add i32 %tmp68, %tmp70177 %tmp72 = add i32 %tmp71, undef178 %tmp73 = mul i32 %tmp72, %tmp69179 %tmp74 = xor i32 %tmp73, -1180 %tmp75 = add i32 %tmp72, %tmp74181 %tmp76 = add i32 %tmp75, undef182 %tmp77 = mul i32 %tmp76, %tmp73183 %tmp78 = xor i32 %tmp77, -1184 %tmp79 = add i32 %tmp76, %tmp78185 %tmp80 = add i32 %tmp79, undef186 %tmp81 = mul i32 %tmp80, %tmp77187 %tmp82 = xor i32 %tmp81, -1188 %tmp83 = add i32 %tmp80, %tmp82189 %tmp84 = add i32 %tmp83, undef190 %tmp85 = add i32 %tmp84, undef191 %tmp86 = add i32 %tmp2, -21192 %tmp87 = add i32 %tmp85, %tmp86193 store i32 %tmp87, ptr %0194 br label %bb1195}196