brintos

brintos / llvm-project-archived public Read only

0
0
Text · 16.0 KiB · 214cb33 Raw
512 lines · plain
1; RUN: opt < %s -codegenprepare | llvm-dis2; PR31133target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"4target triple = "x86_64-unknown-linux-gnu"5 6define fastcc i32 @ascii2flt(ptr %str, i1 %arg) nounwind {7entry:8	br label %bb2.i9 10bb2.i:		; preds = %bb4.i.bb2.i_crit_edge, %entry11	br i1 false, label %bb4.i, label %base2flt.exit12 13bb4.i:		; preds = %bb2.i14	br i1 false, label %bb11.i, label %bb4.i.bb2.i_crit_edge15 16bb4.i.bb2.i_crit_edge:		; preds = %bb4.i17	br label %bb2.i18 19bb11.i:		; preds = %bb4.i20	br label %bb11.i.base2flt.exit204_crit_edge21 22bb11.i.base2flt.exit204_crit_edge:		; preds = %bb11.i23	br label %base2flt.exit20424 25bb11.i.bb7.i197_crit_edge:		; No predecessors!26	br label %bb7.i19727 28base2flt.exit:		; preds = %bb2.i29	br label %base2flt.exit.base2flt.exit204_crit_edge30 31base2flt.exit.base2flt.exit204_crit_edge:		; preds = %base2flt.exit32	br label %base2flt.exit20433 34base2flt.exit.bb7.i197_crit_edge:		; No predecessors!35	br label %bb7.i19736 37bb10.i196:		; preds = %bb7.i19738	br label %bb10.i196.base2flt.exit204_crit_edge39 40bb10.i196.base2flt.exit204_crit_edge:		; preds = %bb7.i197, %bb10.i19641	br label %base2flt.exit20442 43bb10.i196.bb7.i197_crit_edge:		; No predecessors!44	br label %bb7.i19745 46bb7.i197:		; preds = %bb10.i196.bb7.i197_crit_edge, %base2flt.exit.bb7.i197_crit_edge, %bb11.i.bb7.i197_crit_edge47	%.reg2mem.0 = phi i32 [ 0, %base2flt.exit.bb7.i197_crit_edge ], [ %.reg2mem.0, %bb10.i196.bb7.i197_crit_edge ], [ 0, %bb11.i.bb7.i197_crit_edge ]		; <i32> [#uses=1]48	br i1 %arg, label %bb10.i196.base2flt.exit204_crit_edge, label %bb10.i19649 50base2flt.exit204:		; preds = %bb10.i196.base2flt.exit204_crit_edge, %base2flt.exit.base2flt.exit204_crit_edge, %bb11.i.base2flt.exit204_crit_edge51	br i1 false, label %base2flt.exit204.bb8_crit_edge, label %bb52 53base2flt.exit204.bb8_crit_edge:		; preds = %base2flt.exit20454	br label %bb855 56bb:		; preds = %base2flt.exit20457	br i1 false, label %bb.bb18_crit_edge, label %bb1.i58 59bb.bb18_crit_edge:		; preds = %bb9, %bb60	br label %bb1861 62bb1.i:		; preds = %bb63	br i1 false, label %bb1.i.bb7_crit_edge, label %bb1.i15864 65bb1.i.bb7_crit_edge.loopexit:		; preds = %bb2.i16466	br label %bb1.i.bb7_crit_edge67 68bb1.i.bb7_crit_edge:		; preds = %bb1.i.bb7_crit_edge.loopexit, %bb1.i69	br label %bb7.preheader70 71bb1.i158:		; preds = %bb1.i72	br i1 false, label %bb1.i158.bb10.i179_crit_edge, label %bb1.i158.bb2.i164_crit_edge73 74bb1.i158.bb2.i164_crit_edge:		; preds = %bb1.i15875	br label %bb2.i16476 77bb1.i158.bb10.i179_crit_edge:		; preds = %bb1.i15878	br label %bb10.i17979 80bb2.i164:		; preds = %bb4.i166.bb2.i164_crit_edge, %bb1.i158.bb2.i164_crit_edge81	br i1 false, label %bb4.i166, label %bb1.i.bb7_crit_edge.loopexit82 83bb4.i166:		; preds = %bb2.i16484	br i1 false, label %bb4.i166.bb11.i172_crit_edge, label %bb4.i166.bb2.i164_crit_edge85 86bb4.i166.bb2.i164_crit_edge:		; preds = %bb4.i16687	br label %bb2.i16488 89bb4.i166.bb11.i172_crit_edge:		; preds = %bb4.i16690	br label %bb11.i17291 92bb11.i172:		; preds = %bb10.i179.bb11.i172_crit_edge, %bb4.i166.bb11.i172_crit_edge93	br label %bb7.preheader94 95bb10.i179:		; preds = %bb9.i182, %bb1.i158.bb10.i179_crit_edge96	br i1 false, label %bb7.i180, label %bb10.i179.bb11.i172_crit_edge97 98bb10.i179.bb11.i172_crit_edge:		; preds = %bb10.i17999	br label %bb11.i172100 101bb7.i180:		; preds = %bb10.i179102	br i1 false, label %bb7.i180.bb7_crit_edge, label %bb9.i182103 104bb7.i180.bb7_crit_edge:		; preds = %bb7.i180105	br label %bb7.preheader106 107bb7.preheader:		; preds = %bb7.i180.bb7_crit_edge, %bb11.i172, %bb1.i.bb7_crit_edge108	br label %bb7109 110bb9.i182:		; preds = %bb7.i180111	br label %bb10.i179112 113bb7:		; preds = %addflt.exit114, %bb7.preheader114	switch i8 0, label %bb4 [115		i8 0, label %bb7.bb8_crit_edge116		i8 46, label %bb7.bb8_crit_edge117	]118 119bb7.bb8_crit_edge:		; preds = %bb7, %bb7120	br label %bb8121 122bb4:		; preds = %bb7123	br i1 false, label %bb18.loopexit1, label %bb1.i5124 125bb1.i5:		; preds = %bb4126	br i1 false, label %bb1.i5.mulflt.exit157_crit_edge, label %bb3.i147127 128bb1.i5.mulflt.exit157_crit_edge:		; preds = %bb5.i148, %bb1.i5129	br label %mulflt.exit157130 131bb3.i147:		; preds = %bb1.i5132	br i1 false, label %bb3.i147.mulflt.exit157_crit_edge, label %bb5.i148133 134bb3.i147.mulflt.exit157_crit_edge:		; preds = %bb8.i150, %bb3.i147135	br label %mulflt.exit157136 137bb5.i148:		; preds = %bb3.i147138	br i1 false, label %bb1.i5.mulflt.exit157_crit_edge, label %bb7.i149139 140bb7.i149:		; preds = %bb5.i148141	br i1 false, label %bb8.i150, label %bb7.i149.bb12.i154_crit_edge142 143bb7.i149.bb12.i154_crit_edge:		; preds = %bb7.i149144	br label %bb12.i154145 146bb8.i150:		; preds = %bb7.i149147	br i1 false, label %bb3.i147.mulflt.exit157_crit_edge, label %bb10.i151148 149bb10.i151:		; preds = %bb8.i150150	br label %bb12.i154151 152bb12.i154:		; preds = %bb10.i151, %bb7.i149.bb12.i154_crit_edge153	br label %mulflt.exit157154 155mulflt.exit157:		; preds = %bb12.i154, %bb3.i147.mulflt.exit157_crit_edge, %bb1.i5.mulflt.exit157_crit_edge156	br i1 false, label %mulflt.exit157.base2flt.exit144_crit_edge, label %bb1.i115157 158mulflt.exit157.base2flt.exit144_crit_edge.loopexit:		; preds = %bb2.i121159	br label %mulflt.exit157.base2flt.exit144_crit_edge160 161mulflt.exit157.base2flt.exit144_crit_edge:		; preds = %mulflt.exit157.base2flt.exit144_crit_edge.loopexit, %mulflt.exit157162	br label %base2flt.exit144163 164bb1.i115:		; preds = %mulflt.exit157165	br i1 false, label %bb1.i115.bb10.i136_crit_edge, label %bb1.i115.bb2.i121_crit_edge166 167bb1.i115.bb2.i121_crit_edge:		; preds = %bb1.i115168	br label %bb2.i121169 170bb1.i115.bb10.i136_crit_edge:		; preds = %bb1.i115171	br label %bb10.i136172 173bb2.i121:		; preds = %bb4.i123.bb2.i121_crit_edge, %bb1.i115.bb2.i121_crit_edge174	br i1 false, label %bb4.i123, label %mulflt.exit157.base2flt.exit144_crit_edge.loopexit175 176bb4.i123:		; preds = %bb2.i121177	br i1 false, label %bb4.i123.bb11.i129_crit_edge, label %bb4.i123.bb2.i121_crit_edge178 179bb4.i123.bb2.i121_crit_edge:		; preds = %bb4.i123180	br label %bb2.i121181 182bb4.i123.bb11.i129_crit_edge:		; preds = %bb4.i123183	br label %bb11.i129184 185bb11.i129:		; preds = %bb10.i136.bb11.i129_crit_edge, %bb4.i123.bb11.i129_crit_edge186	br label %base2flt.exit144187 188bb10.i136:		; preds = %bb9.i139, %bb1.i115.bb10.i136_crit_edge189	br i1 false, label %bb7.i137, label %bb10.i136.bb11.i129_crit_edge190 191bb10.i136.bb11.i129_crit_edge:		; preds = %bb10.i136192	br label %bb11.i129193 194bb7.i137:		; preds = %bb10.i136195	br i1 false, label %bb7.i137.base2flt.exit144_crit_edge, label %bb9.i139196 197bb7.i137.base2flt.exit144_crit_edge:		; preds = %bb7.i137198	br label %base2flt.exit144199 200bb9.i139:		; preds = %bb7.i137201	br label %bb10.i136202 203base2flt.exit144:		; preds = %bb7.i137.base2flt.exit144_crit_edge, %bb11.i129, %mulflt.exit157.base2flt.exit144_crit_edge204	br i1 false, label %base2flt.exit144.addflt.exit114_crit_edge, label %bb3.i105205 206base2flt.exit144.addflt.exit114_crit_edge:		; preds = %bb3.i105, %base2flt.exit144207	br label %addflt.exit114208 209bb3.i105:		; preds = %base2flt.exit144210	br i1 false, label %base2flt.exit144.addflt.exit114_crit_edge, label %bb5.i106211 212bb5.i106:		; preds = %bb3.i105213	br i1 false, label %bb5.i106.bb9.i111_crit_edge, label %bb6.i107214 215bb5.i106.bb9.i111_crit_edge:		; preds = %bb5.i106216	br label %bb9.i111217 218bb6.i107:		; preds = %bb5.i106219	br i1 false, label %bb6.i107.addflt.exit114_crit_edge, label %bb8.i108220 221bb6.i107.addflt.exit114_crit_edge:		; preds = %bb6.i107222	br label %addflt.exit114223 224bb8.i108:		; preds = %bb6.i107225	br label %bb9.i111226 227bb9.i111:		; preds = %bb8.i108, %bb5.i106.bb9.i111_crit_edge228	br label %addflt.exit114229 230addflt.exit114:		; preds = %bb9.i111, %bb6.i107.addflt.exit114_crit_edge, %base2flt.exit144.addflt.exit114_crit_edge231	br label %bb7232 233bb18.loopexit1:		; preds = %bb4234	ret i32 -1235 236bb18:		; preds = %bb8.bb18_crit_edge, %bb.bb18_crit_edge237	ret i32 0238 239bb8:		; preds = %bb7.bb8_crit_edge, %base2flt.exit204.bb8_crit_edge240	br i1 false, label %bb9, label %bb8.bb18_crit_edge241 242bb8.bb18_crit_edge:		; preds = %bb8243	br label %bb18244 245bb9:		; preds = %bb8246	br i1 false, label %bb.bb18_crit_edge, label %bb1.i13247 248bb1.i13:		; preds = %bb9249	br i1 false, label %bb1.i13.base2flt.exit102_crit_edge, label %bb1.i73250 251bb1.i13.base2flt.exit102_crit_edge.loopexit:		; preds = %bb2.i79252	br label %bb1.i13.base2flt.exit102_crit_edge253 254bb1.i13.base2flt.exit102_crit_edge:		; preds = %bb1.i13.base2flt.exit102_crit_edge.loopexit, %bb1.i13255	br label %base2flt.exit102256 257bb1.i73:		; preds = %bb1.i13258	br i1 false, label %bb1.i73.bb10.i94_crit_edge, label %bb1.i73.bb2.i79_crit_edge259 260bb1.i73.bb2.i79_crit_edge:		; preds = %bb1.i73261	br label %bb2.i79262 263bb1.i73.bb10.i94_crit_edge:		; preds = %bb1.i73264	br label %bb10.i94265 266bb2.i79:		; preds = %bb4.i81.bb2.i79_crit_edge, %bb1.i73.bb2.i79_crit_edge267	br i1 false, label %bb4.i81, label %bb1.i13.base2flt.exit102_crit_edge.loopexit268 269bb4.i81:		; preds = %bb2.i79270	br i1 false, label %bb4.i81.bb11.i87_crit_edge, label %bb4.i81.bb2.i79_crit_edge271 272bb4.i81.bb2.i79_crit_edge:		; preds = %bb4.i81273	br label %bb2.i79274 275bb4.i81.bb11.i87_crit_edge:		; preds = %bb4.i81276	br label %bb11.i87277 278bb11.i87:		; preds = %bb10.i94.bb11.i87_crit_edge, %bb4.i81.bb11.i87_crit_edge279	br label %base2flt.exit102280 281bb10.i94:		; preds = %bb9.i97, %bb1.i73.bb10.i94_crit_edge282	br i1 false, label %bb7.i95, label %bb10.i94.bb11.i87_crit_edge283 284bb10.i94.bb11.i87_crit_edge:		; preds = %bb10.i94285	br label %bb11.i87286 287bb7.i95:		; preds = %bb10.i94288	br i1 false, label %bb7.i95.base2flt.exit102_crit_edge, label %bb9.i97289 290bb7.i95.base2flt.exit102_crit_edge:		; preds = %bb7.i95291	br label %base2flt.exit102292 293bb9.i97:		; preds = %bb7.i95294	br label %bb10.i94295 296base2flt.exit102:		; preds = %bb7.i95.base2flt.exit102_crit_edge, %bb11.i87, %bb1.i13.base2flt.exit102_crit_edge297	br i1 false, label %base2flt.exit102.mulflt.exit72_crit_edge, label %bb3.i62298 299base2flt.exit102.mulflt.exit72_crit_edge:		; preds = %bb5.i63, %base2flt.exit102300	br label %mulflt.exit72301 302bb3.i62:		; preds = %base2flt.exit102303	br i1 false, label %bb3.i62.mulflt.exit72_crit_edge, label %bb5.i63304 305bb3.i62.mulflt.exit72_crit_edge:		; preds = %bb8.i65, %bb3.i62306	br label %mulflt.exit72307 308bb5.i63:		; preds = %bb3.i62309	br i1 false, label %base2flt.exit102.mulflt.exit72_crit_edge, label %bb7.i64310 311bb7.i64:		; preds = %bb5.i63312	br i1 false, label %bb8.i65, label %bb7.i64.bb12.i69_crit_edge313 314bb7.i64.bb12.i69_crit_edge:		; preds = %bb7.i64315	br label %bb12.i69316 317bb8.i65:		; preds = %bb7.i64318	br i1 false, label %bb3.i62.mulflt.exit72_crit_edge, label %bb10.i66319 320bb10.i66:		; preds = %bb8.i65321	br label %bb12.i69322 323bb12.i69:		; preds = %bb10.i66, %bb7.i64.bb12.i69_crit_edge324	br label %mulflt.exit72325 326mulflt.exit72:		; preds = %bb12.i69, %bb3.i62.mulflt.exit72_crit_edge, %base2flt.exit102.mulflt.exit72_crit_edge327	br i1 false, label %mulflt.exit72.bb10.i58_crit_edge, label %bb3.i50328 329mulflt.exit72.bb10.i58_crit_edge:		; preds = %bb3.i50, %mulflt.exit72330	br label %bb10.i58331 332bb3.i50:		; preds = %mulflt.exit72333	br i1 false, label %mulflt.exit72.bb10.i58_crit_edge, label %bb5.i51334 335bb5.i51:		; preds = %bb3.i50336	br i1 false, label %bb5.i51.bb9.i56_crit_edge, label %bb6.i52337 338bb5.i51.bb9.i56_crit_edge:		; preds = %bb5.i51339	br label %bb9.i56340 341bb6.i52:		; preds = %bb5.i51342	br i1 false, label %bb6.i52.bb10.i58_crit_edge, label %bb8.i53343 344bb6.i52.bb10.i58_crit_edge:		; preds = %bb6.i52345	br label %bb10.i58346 347bb8.i53:		; preds = %bb6.i52348	br label %bb9.i56349 350bb9.i56:		; preds = %bb8.i53, %bb5.i51.bb9.i56_crit_edge351	br label %bb15.preheader352 353bb10.i58:		; preds = %bb6.i52.bb10.i58_crit_edge, %mulflt.exit72.bb10.i58_crit_edge354	br label %bb15.preheader355 356bb15.preheader:		; preds = %bb10.i58, %bb9.i56357	br label %bb15358 359bb15:		; preds = %addflt.exit, %bb15.preheader360	br i1 false, label %bb15.bb18.loopexit_crit_edge, label %bb12361 362bb15.bb18.loopexit_crit_edge:		; preds = %bb15363	br label %bb18.loopexit364 365bb12:		; preds = %bb15366	br i1 false, label %bb12.bb18.loopexit_crit_edge, label %bb1.i21367 368bb12.bb18.loopexit_crit_edge:		; preds = %bb12369	br label %bb18.loopexit370 371bb1.i21:		; preds = %bb12372	br i1 false, label %bb1.i21.mulflt.exit47_crit_edge, label %bb3.i37373 374bb1.i21.mulflt.exit47_crit_edge:		; preds = %bb5.i38, %bb1.i21375	br label %mulflt.exit47376 377bb3.i37:		; preds = %bb1.i21378	br i1 false, label %bb3.i37.mulflt.exit47_crit_edge, label %bb5.i38379 380bb3.i37.mulflt.exit47_crit_edge:		; preds = %bb8.i40, %bb3.i37381	br label %mulflt.exit47382 383bb5.i38:		; preds = %bb3.i37384	br i1 false, label %bb1.i21.mulflt.exit47_crit_edge, label %bb7.i39385 386bb7.i39:		; preds = %bb5.i38387	br i1 false, label %bb8.i40, label %bb7.i39.bb12.i44_crit_edge388 389bb7.i39.bb12.i44_crit_edge:		; preds = %bb7.i39390	br label %bb12.i44391 392bb8.i40:		; preds = %bb7.i39393	br i1 false, label %bb3.i37.mulflt.exit47_crit_edge, label %bb10.i41394 395bb10.i41:		; preds = %bb8.i40396	br label %bb12.i44397 398bb12.i44:		; preds = %bb10.i41, %bb7.i39.bb12.i44_crit_edge399	br label %mulflt.exit47400 401mulflt.exit47:		; preds = %bb12.i44, %bb3.i37.mulflt.exit47_crit_edge, %bb1.i21.mulflt.exit47_crit_edge402	br i1 false, label %mulflt.exit47.base2flt.exit34_crit_edge, label %bb1.i15403 404mulflt.exit47.base2flt.exit34_crit_edge.loopexit:		; preds = %bb2.i20405	br label %mulflt.exit47.base2flt.exit34_crit_edge406 407mulflt.exit47.base2flt.exit34_crit_edge:		; preds = %mulflt.exit47.base2flt.exit34_crit_edge.loopexit, %mulflt.exit47408	br label %base2flt.exit34409 410bb1.i15:		; preds = %mulflt.exit47411	br i1 false, label %bb1.i15.bb10.i31_crit_edge, label %bb1.i15.bb2.i20_crit_edge412 413bb1.i15.bb2.i20_crit_edge:		; preds = %bb1.i15414	br label %bb2.i20415 416bb1.i15.bb10.i31_crit_edge:		; preds = %bb1.i15417	br label %bb10.i31418 419bb2.i20:		; preds = %bb4.i22.bb2.i20_crit_edge, %bb1.i15.bb2.i20_crit_edge420	br i1 false, label %bb4.i22, label %mulflt.exit47.base2flt.exit34_crit_edge.loopexit421 422bb4.i22:		; preds = %bb2.i20423	br i1 false, label %bb4.i22.bb11.i28_crit_edge, label %bb4.i22.bb2.i20_crit_edge424 425bb4.i22.bb2.i20_crit_edge:		; preds = %bb4.i22426	br label %bb2.i20427 428bb4.i22.bb11.i28_crit_edge:		; preds = %bb4.i22429	br label %bb11.i28430 431bb11.i28:		; preds = %bb10.i31.bb11.i28_crit_edge, %bb4.i22.bb11.i28_crit_edge432	br label %base2flt.exit34433 434bb10.i31:		; preds = %bb9.i33, %bb1.i15.bb10.i31_crit_edge435	br i1 false, label %bb7.i32, label %bb10.i31.bb11.i28_crit_edge436 437bb10.i31.bb11.i28_crit_edge:		; preds = %bb10.i31438	br label %bb11.i28439 440bb7.i32:		; preds = %bb10.i31441	br i1 false, label %bb7.i32.base2flt.exit34_crit_edge, label %bb9.i33442 443bb7.i32.base2flt.exit34_crit_edge:		; preds = %bb7.i32444	br label %base2flt.exit34445 446bb9.i33:		; preds = %bb7.i32447	br label %bb10.i31448 449base2flt.exit34:		; preds = %bb7.i32.base2flt.exit34_crit_edge, %bb11.i28, %mulflt.exit47.base2flt.exit34_crit_edge450	br i1 false, label %base2flt.exit34.mulflt.exit_crit_edge, label %bb3.i9451 452base2flt.exit34.mulflt.exit_crit_edge:		; preds = %bb5.i10, %base2flt.exit34453	br label %mulflt.exit454 455bb3.i9:		; preds = %base2flt.exit34456	br i1 false, label %bb3.i9.mulflt.exit_crit_edge, label %bb5.i10457 458bb3.i9.mulflt.exit_crit_edge:		; preds = %bb8.i11, %bb3.i9459	br label %mulflt.exit460 461bb5.i10:		; preds = %bb3.i9462	br i1 false, label %base2flt.exit34.mulflt.exit_crit_edge, label %bb7.i463 464bb7.i:		; preds = %bb5.i10465	br i1 false, label %bb8.i11, label %bb7.i.bb12.i_crit_edge466 467bb7.i.bb12.i_crit_edge:		; preds = %bb7.i468	br label %bb12.i469 470bb8.i11:		; preds = %bb7.i471	br i1 false, label %bb3.i9.mulflt.exit_crit_edge, label %bb10.i12472 473bb10.i12:		; preds = %bb8.i11474	br label %bb12.i475 476bb12.i:		; preds = %bb10.i12, %bb7.i.bb12.i_crit_edge477	br label %mulflt.exit478 479mulflt.exit:		; preds = %bb12.i, %bb3.i9.mulflt.exit_crit_edge, %base2flt.exit34.mulflt.exit_crit_edge480	br i1 false, label %mulflt.exit.addflt.exit_crit_edge, label %bb3.i481 482mulflt.exit.addflt.exit_crit_edge:		; preds = %bb3.i, %mulflt.exit483	br label %addflt.exit484 485bb3.i:		; preds = %mulflt.exit486	br i1 false, label %mulflt.exit.addflt.exit_crit_edge, label %bb5.i487 488bb5.i:		; preds = %bb3.i489	br i1 false, label %bb5.i.bb9.i_crit_edge, label %bb6.i490 491bb5.i.bb9.i_crit_edge:		; preds = %bb5.i492	br label %bb9.i493 494bb6.i:		; preds = %bb5.i495	br i1 false, label %bb6.i.addflt.exit_crit_edge, label %bb8.i496 497bb6.i.addflt.exit_crit_edge:		; preds = %bb6.i498	br label %addflt.exit499 500bb8.i:		; preds = %bb6.i501	br label %bb9.i502 503bb9.i:		; preds = %bb8.i, %bb5.i.bb9.i_crit_edge504	br label %addflt.exit505 506addflt.exit:		; preds = %bb9.i, %bb6.i.addflt.exit_crit_edge, %mulflt.exit.addflt.exit_crit_edge507	br label %bb15508 509bb18.loopexit:		; preds = %bb12.bb18.loopexit_crit_edge, %bb15.bb18.loopexit_crit_edge510	ret i32 0511}512