Lines Matching full:label

11 ; CHECK-LABEL: @triangle_phi
13 ; CHECK-LABEL: entry:
15 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_LICM:.*]], label %[[THEN_LICM:.*]]
17 br label %loop
21 ; CHECK-ENABLED: br label %[[THEN_LICM]]
27 ; CHECK: br label %loop
31 br i1 %cmp1, label %if, label %then
35 br label %then
37 ; CHECK-LABEL: then:
44 br i1 %cmp2, label %loop, label %end
46 ; CHECK-LABEL: end:
53 ; CHECK-LABEL: @diamond_phi
55 ; CHECK-LABEL: entry:
57 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_LICM:.*]], label %[[ELSE_LICM:.*]]
59 br label %loop
63 ; CHECK-ENABLED: br label %[[THEN_LICM:.*]]
67 ; CHECK-ENABLED: br label %[[THEN_LICM]]
73 ; CHECK: br label %loop
77 br i1 %cmp1, label %if, label %else
81 br label %then
85 br label %then
87 ; CHECK-LABEL: then:
94 br i1 %cmp2, label %loop, label %end
96 ; CHECK-LABEL: end:
104 ; CHECK-LABEL: @three_way_phi
106 ; CHECK-LABEL: entry:
110 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_LICM:.*]], label %[[ELSE_LICM:.*]]
113 ; CHECK-ENABLED: br label %[[THEN_LICM:.*]]
117 ; CHECK: br label %loop
120 br label %loop
124 br i1 %cmp1, label %if, label %then
129 br i1 %cmp2, label %if.if, label %then
133 br label %then
139 br i1 %cmp3, label %loop, label %end
146 ; CHECK-LABEL: @tree_phi
148 ; CHECK-LABEL: entry:
153 ; CHECK: br label %loop
156 br label %loop
160 br i1 %cmp1, label %if, label %else
165 br i1 %cmp2, label %if.if, label %if.else
168 br label %then
171 br label %then
175 br label %then
181 br i1 %cmp3, label %loop, label %end
188 ; CHECK-LABEL: @phi_phi
190 ; CHECK-LABEL: entry:
195 ; CHECK-ENABLED: br i1 %cmp2, label %[[IF_IF_LICM:.*]], label %[[IF_ELSE_LICM:.*]]
198 ; CHECK-ENABLED: br label %[[IF_THEN_LICM:.*]]
201 ; CHECK-ENABLED: br label %[[IF_THEN_LICM]]
205 ; CHECK: br label %loop
208 br label %loop
212 br i1 %cmp1, label %if, label %else
217 br i1 %cmp2, label %if.if, label %if.else
220 br label %if.then
223 br label %if.then
225 ; CHECK-LABEL: if.then:
229 br label %then
233 br label %then
235 ; CHECK-LABEL: then:
241 br i1 %cmp3, label %loop, label %end
248 ; CHECK-LABEL: @empty_triangle_phi
250 ; CHECK-LABEL: entry:
252 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_LICM:.*]], label %[[THEN_LICM:.*]]
254 br label %loop
257 ; CHECK-ENABLED: br label %[[THEN_LICM]]
262 ; CHECK: br label %loop
266 br i1 %cmp1, label %if, label %then
269 br label %then
271 ; CHECK-LABEL: then:
276 br i1 %cmp2, label %end, label %loop
282 ; CHECK-LABEL: @empty_diamond_phi
284 ; CHECK-LABEL: entry:
286 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_LICM:.*]], label %[[ELSE_LICM:.*]]
288 br label %loop
291 ; CHECK-ENABLED: br label %[[THEN_LICM:.*]]
294 ; CHECK-ENABLED: br label %[[THEN_LICM]]
299 ; CHECK: br label %loop
303 br i1 %cmp1, label %if, label %else
306 br label %then
309 br label %then
311 ; CHECK-LABEL: then:
316 br i1 %cmp2, label %end, label %loop
323 ; CHECK-LABEL: @empty_triangle_phi_first
325 ; CHECK-LABEL: entry:
326 ; CHECK-ENABLED: br i1 %cond, label %[[IF_LICM:.*]], label %[[THEN_LICM:.*]]
328 br label %loop
331 ; CHECK-ENABLED: br label %[[THEN_LICM]]
336 ; CHECK: br label %loop
339 br i1 %cond, label %if, label %then
342 br label %then
344 ; CHECK-LABEL: then:
349 br i1 %cmp, label %end, label %loop
355 ; CHECK-LABEL: @empty_diamond_phi
357 ; CHECK-LABEL: entry:
358 ; CHECK-ENABLED: br i1 %cond, label %[[IF_LICM:.*]], label %[[ELSE_LICM:.*]]
360 br label %loop
363 ; CHECK-ENABLED: br label %[[THEN_LICM:.*]]
366 ; CHECK-ENABLED: br label %[[THEN_LICM]]
371 ; CHECK: br label %loop
374 br i1 %cond, label %if, label %else
377 br label %then
380 br label %then
382 ; CHECK-LABEL: then:
387 br i1 %cmp, label %end, label %loop
393 ; CHECK-LABEL: @empty_triangle_phi_first
395 ; CHECK-LABEL: entry:
396 ; CHECK-ENABLED: br i1 %cond, label %[[IF_LICM:.*]], label %[[THEN_LICM:.*]]
398 br label %loop
401 ; CHECK-ENABLED: br label %[[THEN_LICM]]
406 ; CHECK: br label %loop
409 br label %test
412 br i1 %cond, label %if, label %then
415 br label %then
417 ; CHECK-LABEL: then:
422 br i1 %cmp, label %end, label %loop
428 ; CHECK-LABEL: @empty_diamond_phi_first_empty_loop_head
430 ; CHECK-LABEL: entry:
431 ; CHECK-ENABLED: br i1 %cond, label %[[IF_LICM:.*]], label %[[ELSE_LICM:.*]]
433 br label %loop
436 ; CHECK-ENABLED: br label %[[THEN_LICM:.*]]
439 ; CHECK-ENABLED: br label %[[THEN_LICM]]
444 ; CHECK: br label %loop
447 br label %test
450 br i1 %cond, label %if, label %else
453 br label %then
456 br label %then
458 ; CHECK-LABEL: then:
463 br i1 %cmp, label %end, label %loop
471 ; CHECK-LABEL: @triangle_diamond
473 ; CHECK-LABEL: entry:
476 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_LICM:.*]], label %[[THEN_LICM:.*]]
478 br label %loop
481 ; CHECK-ENABLED: br label %[[THEN_LICM]]
485 ; CHECK: br label %loop
489 br i1 %cmp1, label %if, label %then
493 br i1 %cmp2, label %if.then, label %then
495 ; CHECK-LABEL: then:
500 br label %end
503 br label %end
506 br label %loop
510 ; CHECK-LABEL: @triangle_diamond_backedge
512 ; CHECK-LABEL: entry:
515 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_LICM:.*]], label %[[THEN_LICM:.*]]
517 br label %loop
520 ; CHECK-ENABLED: br label %[[THEN_LICM]]
524 ; CHECK: br label %loop
528 br i1 %cmp1, label %if, label %then
532 br i1 %cmp2, label %backedge, label %then
534 ; CHECK-LABEL: then:
539 br label %loop
542 br label %loop
546 ; CHECK-LABEL: @diamonds_inside_diamond
548 ; CHECK-LABEL: entry:
551 ; CHECK-ENABLED: br i1 %cmp3, label %[[ELSE_IF_LICM:.*]], label %[[ELSE_ELSE_LICM:.*]]
553 br label %loop
556 ; CHECK-ENABLED: br label %[[ELSE_THEN_LICM:.*]]
559 ; CHECK-ENABLED: br label %[[ELSE_THEN_LICM]]
564 ; CHECK-ENABLED: br i1 %cmp2, label %[[IF_IF_LICM:.*]], label %[[IF_ELSE_LICM:.*]]
567 ; CHECK-ENABLED: br label %[[IF_THEN_LICM:.*]]
570 ; CHECK-ENABLED: br label %[[IF_THEN_LICM]]
574 ; CHECK: br label %loop
578 br i1 %cmp1, label %if, label %else
582 br i1 %cmp2, label %if.if, label %if.else
585 br label %if.then
588 br label %if.then
590 ; CHECK-LABEL: if.then:
594 br label %then
598 br i1 %cmp3, label %else.if, label %else.else
601 br label %else.then
604 br label %else.then
606 ; CHECK-LABEL: else.then:
610 br label %then
612 ; CHECK-LABEL: then:
619 br i1 %cmp4, label %loop, label %end
628 ; CHECK-DISABLED-LABEL: @triangle_phi_loopexit(
633 ; CHECK-DISABLED-NEXT: br label [[LOOP:%.*]]
635 ; CHECK-DISABLED-NEXT: br i1 [[CMP1]], label [[IF:%.*]], label [[THEN:%.*]]
637 ; CHECK-DISABLED-NEXT: br i1 [[CMP2]], label [[THEN]], label [[END:%.*]]
642 ; CHECK-DISABLED-NEXT: br i1 [[CMP3]], label [[LOOP]], label [[END]]
646 ; CHECK-ENABLED-LABEL: @triangle_phi_loopexit(
651 ; CHECK-ENABLED-NEXT: br i1 [[CMP1]], label [[IF_LICM:%.*]], label [[THEN_LICM:%.*]]
653 ; CHECK-ENABLED-NEXT: br label [[THEN_LICM]]
657 ; CHECK-ENABLED-NEXT: br label [[LOOP:%.*]]
659 ; CHECK-ENABLED-NEXT: br i1 [[CMP1]], label [[IF:%.*]], label [[THEN:%.*]]
661 ; CHECK-ENABLED-NEXT: br i1 [[CMP2]], label [[THEN]], label [[END:%.*]]
664 ; CHECK-ENABLED-NEXT: br i1 [[CMP3]], label [[LOOP]], label [[END]]
669 br label %loop
673 br i1 %cmp1, label %if, label %then
678 br i1 %cmp2, label %then, label %end
684 br i1 %cmp3, label %loop, label %end
690 ; CHECK-LABEL: @diamond_phi_oneloopexit
692 ; CHECK-LABEL: entry:
696 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_LICM:.*]], label %[[THEN_LICM:.*]]
698 br label %loop
701 ; CHECK-ENABLED: br label %[[THEN_LICM:.*]]
705 ; CHECK-ENABLED: br label %[[THEN_LICM]]
710 ; CHECK: br label %loop
714 br i1 %cmp1, label %if, label %else
719 br i1 %cmp2, label %then, label %end
723 br label %then
725 ; CHECK-LABEL: then:
731 br i1 %cmp3, label %loop, label %end
737 ; CHECK-LABEL: @diamond_phi_twoloopexit
739 ; CHECK-LABEL: entry:
745 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_LICM:.*]], label %[[THEN_LICM:.*]]
747 br label %loop
750 ; CHECK-ENABLED: br label %[[THEN_LICM:.*]]
753 ; CHECK-ENABLED: br label %[[THEN_LICM]]
758 ; CHECK: br label %loop
762 br i1 %cmp1, label %if, label %else
767 br i1 %cmp2, label %then, label %end
772 br i1 %cmp3, label %then, label %end
774 ; CHECK-LABEL: then:
781 br i1 %cmp4, label %loop, label %end
789 ; CHECK-LABEL: @conditional_use
791 ; CHECK-LABEL: entry:
795 ; CHECK: br label %loop
797 br label %loop
801 br i1 %cond, label %if, label %else
803 ; CHECK-LABEL: if:
809 br label %then
812 br label %then
815 br label %loop
821 ; CHECK-LABEL: @triangles_in_diamond
823 ; CHECK-LABEL: entry:
825 ; CHECK: br label %loop
827 br label %loop
830 br i1 %arg, label %left_triangle_1, label %right_triangle
833 br i1 %arg, label %left_triangle_1_if, label %left_triangle_2
836 br label %left_triangle_2
839 br i1 %arg, label %left_triangle_2_if, label %left_triangle_2_then
842 br label %left_triangle_2_then
845 br label %loop.end
848 br i1 %arg, label %right_triangle.if, label %right_triangle.then
851 br label %right_triangle.then
854 br label %loop.end
858 br label %loop
862 ; CHECK-LABEL: @rehoist
864 ; CHECK-LABEL: entry:
870 br label %loop
873 br i1 %arg, label %if1, label %else1
877 br label %then1
880 br label %then1
884 br i1 %cmp, label %end, label %else2
888 br i1 %brmerge, label %if3, label %end
891 br label %end
894 br label %loop
899 ; CHECK-LABEL: @empty_blocks_multiple_conditional_branches
901 ; CHECK-LABEL: entry
905 br label %loop
910 ; CHECK: br label %loop
913 br i1 %arg2, label %backedge2, label %cond1
916 br i1 %arg2, label %cond1.if, label %cond1.else
919 br label %cond3
922 br label %cond1.if.next
925 br label %cond2
929 br i1 %arg2, label %cond2.if, label %cond2.then
932 br label %cond2.then
934 ; CHECK-LABEL: cond2.then:
939 br label %backedge2
942 br i1 %arg2, label %cond3.then, label %cond3.if
947 br label %cond3.then
950 br label %loop
953 br label %loop
957 ; CHECK-LABEL: @many_path_phi
959 ; CHECK-LABEL: entry:
962 ; CHECK: br label %loop
964 br label %loop
969 br i1 %cmp1, label %cond2, label %cond1
972 br i1 %arg, label %end, label %cond1.else
978 br i1 %cmp2, label %cond1.end, label %end
981 br label %end
984 br i1 %arg, label %end, label %cond2.else
990 br i1 %cmp3, label %cond2.end, label %end
993 br label %end
997 br label %loop
1002 ; CHECK-LABEL: @crit_edge
1004 ; CHECK-LABEL: entry:
1006 ; CHECK: br label %preheader
1008 br label %preheader
1011 br label %loop
1014 br i1 %cond1, label %then, label %if
1019 br label %then
1024 br i1 %cond2, label %loop, label %crit_edge
1027 br label %preheader
1032 ; CHECK-LABEL: @hoist_from_innermost_loop
1034 ; CHECK-LABEL: entry:
1036 ; CHECK: br label %outer_loop
1038 br label %outer_loop
1041 br label %middle_loop
1044 br label %inner_loop
1047 br i1 %arg, label %inner_loop_end, label %if
1052 br label %inner_loop_end
1055 br i1 %arg, label %inner_loop, label %middle_loop_end
1058 br i1 %arg, label %middle_loop, label %outer_loop_end
1061 br label %outer_loop
1066 ; CHECK-LABEL: @diamond_with_extra_in_edge
1068 ; CHECK-LABEL: entry:
1071 ; CHECK: br label %loop
1073 br label %loop
1078 br i1 %cmp1, label %if, label %if.if
1082 br i1 %cmp2, label %if.if, label %if.else
1087 br label %then
1090 br label %then
1095 br label %loop
1100 ; CHECK-LABEL: @both_triangle_and_diamond
1102 ; CHECK-LABEL: entry:
1105 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_LICM:.*]], label %[[THEN_LICM:.*]]
1107 br label %loop
1110 ; CHECK-ENABLED: br label %[[THEN_LICM]]
1114 ; CHECK: br label %loop
1119 br i1 %cmp1, label %if, label %then
1125 br i1 %cmp2, label %end, label %then
1127 ; CHECK-LABEL: then:
1131 br label %end
1136 br label %loop
1141 ; CHECK-LABEL: @same_destination_branch
1143 ; CHECK-LABEL: entry:
1146 ; CHECK: br label %loop
1148 br label %loop
1150 ; CHECK-LABEL: loop:
1156 br i1 %cmp1, label %if, label %if
1160 br label %then
1164 br i1 %cmp2, label %loop, label %end
1173 ; CHECK-LABEL: @diamond_like_same_destinations
1175 ; CHECK-LABEL: entry:
1179 ; CHECK-ENABLED: br i1 %cmp1, label %[[LEFT1_LICM:.*]], label %[[RIGHT1_LICM:.*]]
1181 br label %loop
1184 ; CHECK-ENABLED: br label %[[LEFT2_LICM:.*]]
1187 ; CHECK-ENABLED: br label %[[LEFT2_LICM]]
1191 ; CHECK: br label %loop
1197 br i1 %cmp1, label %left1, label %right1
1201 br i1 %cmp2, label %left2, label %right2
1205 br i1 %cmp3, label %left2, label %right2
1207 ; CHECK-LABEL: left2:
1211 br label %loopend
1213 ; CHECK-LABEL: right2:
1217 br label %loopend
1219 ; CHECK-LABEL: loopend:
1224 br i1 %cmp4, label %loop, label %end
1233 ; CHECK-LABEL: @phi_multiple_values_same_block
1235 ; CHECK-LABEL: entry:
1238 ; CHECK: br label %loop
1240 br label %loop
1244 br i1 %cmp, label %if, label %then
1247 br i1 %arg2, label %then, label %then
1251 br i1 %arg2, label %exit, label %loop
1260 ; CHECK-LABEL: @phi_conditional_use
1262 ; CHECK-LABEL: entry:
1265 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_END_LICM:.*]], label %[[IF_THEN_LICM:.*]]
1269 br label %loop
1272 ; CHECK-ENABLED: br label %[[IF_END_LICM]]
1277 ; CHECK-ENABLED: i1 %cmp2, label %[[LOOP_BACKEDGE_LICM:.*]], label %[[IF_THEN2_LICM:.*]]
1280 ; CHECK-ENABLED: br label %[[LOOP_BACKEDGE_LICM]]
1283 ; CHECK: br label %loop
1286 br i1 %cmp1, label %if.end, label %if.then
1289 br label %if.end
1291 ; CHECK-LABEL: if.end:
1295 br i1 %cmp2, label %loop.backedge, label %if.then2
1297 ; CHECK-LABEL: if.then2:
1302 br label %loop.backedge
1305 br label %loop
1309 ; CHECK-LABEL: @phi_conditional_use_twice
1311 ; CHECK-LABEL: entry:
1314 ; CHECK-ENABLED: br i1 %cmp1, label %[[IF_END_LICM:.*]], label %[[IF_THEN_LICM:.*]]
1319 br label %loop
1322 ; CHECK-ENABLED: br label %[[IF_END_LICM]]
1327 ; CHECK-ENABLED: i1 %cmp2, label %[[IF_END2_LICM:.*]], label %[[IF_THEN2_LICM:.*]]
1330 ; CHECK-ENABLED: br label %[[IF_END2_LICM]]
1335 ; CHECK-ENABLED: i1 %cmp3, label %[[LOOP_BACKEDGE_LICM:.*]], label %[[IF_THEN3_LICM:.*]]
1338 ; CHECK-ENABLED: br label %[[LOOP_BACKEDGE_LICM]]
1341 ; CHECK: br label %loop
1344 br i1 %cmp1, label %if.end, label %if.then
1347 br label %if.end
1349 ; CHECK-LABEL: if.end:
1353 br i1 %cmp2, label %if.end2, label %if.then2
1355 ; CHECK-LABEL: if.then2:
1360 br label %if.end2
1362 ; CHECK-LABEL: if.end2:
1366 br i1 %cmp3, label %loop.backedge, label %if.then3
1368 ; CHECK-LABEL: if.then3:
1373 br label %loop.backedge
1376 br label %loop
1381 ; CHECK-LABEL: @rehoist_wrong_order_1
1383 ; CHECK-LABEL: entry
1387 ; CHECK-ENABLED: br i1 %arg, label %[[IF1_LICM:.*]], label %[[ELSE1_LICM:.*]]
1389 br label %loop
1392 ; CHECK-ENABLED: br label %[[LOOP_BACKEDGE_LICM:.*]]
1395 ; CHECK-ENABLED: br label %[[LOOP_BACKEDGE_LICM]]
1398 ; CHECK-ENABLED: br i1 %arg, label %[[IF3_LICM:.*]], label %[[END_LICM:.*]]
1401 ; CHECK-ENABLED: br label %[[END_LICM]]
1404 ; CHECK: br label %loop
1407 br i1 %arg, label %if1, label %else1
1412 br label %loop.backedge
1417 br i1 %arg, label %if2, label %loop.backedge
1420 br i1 %arg, label %if3, label %end
1425 br label %end
1428 br label %loop.backedge
1431 br label %loop
1435 ; CHECK-LABEL: @rehoist_wrong_order_2
1437 ; CHECK-LABEL: entry
1441 ; CHECK-ENABLED: br i1 %arg, label %[[IF1_LICM:.*]], label %[[ELSE1_LICM:.*]]
1443 br label %loop
1446 ; CHECK-ENABLED: br label %[[LOOP_BACKEDGE_LICM:.*]]
1449 ; CHECK-ENABLED: br label %[[LOOP_BACKEDGE_LICM]]
1452 ; CHECK-ENABLED: br i1 %arg, label %[[IF3_LICM:.*]], label %[[END_LICM:.*]]
1455 ; CHECK-ENABLED: br label %[[END_LICM]]
1458 ; CHECK: br label %loop
1461 br i1 %arg, label %if1, label %else1
1466 br label %loop.backedge
1471 br i1 %arg, label %if2, label %loop.backedge
1474 br i1 %arg, label %if3, label %end
1479 br label %end
1482 br label %loop.backedge
1485 br label %loop
1488 ; CHECK-LABEL: @rehoist_wrong_order_3
1490 ; CHECK-LABEL: entry
1493 ; CHECK-ENABLED: br i1 %arg, label %[[IF1_LICM:.*]], label %[[ELSE1_LICM:.*]]
1495 br label %loop
1498 ; CHECK-ENABLED: br label %[[IF2_LICM:.*]]
1501 ; CHECK-ENABLED: br label %[[IF2_LICM]]
1506 ; CHECK-ENABLED: br i1 %arg, label %[[IF3_LICM:.*]], label %[[END_LICM:.*]]
1509 ; CHECK-ENABLED: br label %[[END_LICM]]
1512 ; CHECK: br label %loop
1515 br i1 %arg, label %if1, label %else1
1520 br label %if2
1525 br i1 %arg, label %if2, label %loop.backedge
1529 br i1 %arg, label %if3, label %end
1534 br label %end
1537 br label %loop.backedge
1540 br label %loop