Lines Matching full:opt

1 ; RUN: llc < %s -asm-verbose=false -disable-wasm-fallthrough-return-opt -disable-block-placement -v…
2 …=false -disable-wasm-fallthrough-return-opt -verify-machineinstrs -fast-isel=false | FileCheck -ch…
30 ; OPT-LABEL: test0:
31 ; OPT: loop
32 ; OPT-NEXT: i32.const
33 ; OPT-NEXT: i32.add
34 ; OPT: i32.ge_s
35 ; OPT-NEXT: br_if
36 ; OPT-NOT: br
37 ; OPT: call
38 ; OPT: br 0{{$}}
39 ; OPT: return{{$}}
75 ; OPT-LABEL: test1:
76 ; OPT: loop
77 ; OPT-NEXT: i32.const
78 ; OPT-NEXT: i32.add
79 ; OPT: i32.ge_s
80 ; OPT-NEXT: br_if
81 ; OPT-NOT: br
82 ; OPT: call
83 ; OPT: br 0{{$}}
84 ; OPT: return{{$}}
117 ; OPT-LABEL: test2:
118 ; OPT-NOT: local
119 ; OPT: block{{$}}
120 ; OPT: br_if 0, {{[^,]+}}{{$}}
121 ; OPT: .LBB2_{{[0-9]+}}:
122 ; OPT: loop
123 ; OPT: br_if 0, $pop{{[0-9]+}}{{$}}
124 ; OPT: .LBB2_{{[0-9]+}}:
125 ; OPT: end_loop
126 ; OPT: end_block
127 ; OPT: return{{$}}
169 ; OPT-LABEL: doublediamond:
170 ; OPT: block{{$}}
171 ; OPT-NEXT: block{{$}}
172 ; OPT-NEXT: block{{$}}
173 ; OPT: br_if 0, ${{[^,]+}}{{$}}
174 ; OPT: br_if 1, ${{[^,]+}}{{$}}
175 ; OPT: br 2{{$}}
176 ; OPT-NEXT: .LBB3_3:
177 ; OPT-NEXT: end_block
178 ; OPT: br 1{{$}}
179 ; OPT-NEXT: .LBB3_4:
180 ; OPT: .LBB3_5:
181 ; OPT-NEXT: end_block
182 ; OPT: return $pop{{[0-9]+}}{{$}}
211 ; OPT-LABEL: triangle:
212 ; OPT: block{{$}}
213 ; OPT: br_if 0, $1{{$}}
214 ; OPT: .LBB4_2:
215 ; OPT: return ${{[0-9]+}}{{$}}
238 ; OPT-LABEL: diamond:
239 ; OPT: block{{$}}
240 ; OPT: block{{$}}
241 ; OPT: br_if 0, {{[^,]+}}{{$}}
242 ; OPT: br 1{{$}}
243 ; OPT: .LBB5_2:
244 ; OPT: .LBB5_3:
245 ; OPT: i32.const $push{{[0-9]+}}=, 0{{$}}
246 ; OPT-NEXT: return $pop{{[0-9]+}}{{$}}
266 ; OPT-LABEL: single_block:
267 ; OPT-NOT: br
268 ; OPT: return $pop{{[0-9]+}}{{$}}
281 ; OPT-LABEL: minimal_loop:
282 ; OPT-NOT: br
283 ; OPT: .LBB7_1:
284 ; OPT: i32.store $drop=, 0($0), $pop{{[0-9]+}}{{$}}
285 ; OPT: br 0{{$}}
286 ; OPT: .LBB7_2:
304 ; OPT-LABEL: simple_loop:
305 ; OPT-NOT: br
306 ; OPT: .LBB8_1:
307 ; OPT: loop{{$}}
308 ; OPT: br_if 0, {{[^,]+}}{{$}}
309 ; OPT-NEXT: end_loop{{$}}
310 ; OPT: i32.const $push{{[0-9]+}}=, 0{{$}}
311 ; OPT-NEXT: return $pop{{[0-9]+}}{{$}}
333 ; OPT-LABEL: doubletriangle:
334 ; OPT: block{{$}}
335 ; OPT: br_if 0, $0{{$}}
336 ; OPT: block{{$}}
337 ; OPT: br_if 0, $1{{$}}
338 ; OPT: .LBB9_3:
339 ; OPT: .LBB9_4:
340 ; OPT: return ${{[0-9]+}}{{$}}
371 ; OPT-LABEL: ifelse_earlyexits:
372 ; OPT: block{{$}}
373 ; OPT: block{{$}}
374 ; OPT: br_if 0, {{[^,]+}}{{$}}
375 ; OPT: br_if 1, $1{{$}}
376 ; OPT: br 1{{$}}
377 ; OPT: .LBB10_3:
378 ; OPT: .LBB10_4:
379 ; OPT: i32.const $push{{[0-9]+}}=, 0{{$}}
380 ; OPT-NEXT: return $pop{{[0-9]+}}{{$}}
416 ; OPT-LABEL: doublediamond_in_a_loop:
417 ; OPT: .LBB11_1:
418 ; OPT: loop{{$}}
419 ; OPT: block{{$}}
420 ; OPT: br_if 0, {{[^,]+}}{{$}}
421 ; OPT: block{{$}}
422 ; OPT: br_if 0, {{[^,]+}}{{$}}
423 ; OPT: br 2{{$}}
424 ; OPT-NEXT: .LBB11_4:
425 ; OPT-NEXT: end_block{{$}}
426 ; OPT: br 1{{$}}
427 ; OPT: .LBB11_5:
428 ; OPT-NEXT: end_block{{$}}
429 ; OPT: br 0{{$}}
430 ; OPT: .LBB11_6:
431 ; OPT-NEXT: end_loop{{$}}
464 ; OPT-LABEL: test3:
465 ; OPT: block
466 ; OPT: br_if
467 ; OPT: .LBB{{[0-9]+}}_{{[0-9]+}}:
468 ; OPT-NEXT: loop
469 ; OPT-NEXT: block
470 ; OPT-NEXT: block
471 ; OPT-NEXT: br_if
472 ; OPT-NEXT: .LBB{{[0-9]+}}_{{[0-9]+}}:
473 ; OPT-NEXT: loop
474 ; OPT: br_if
475 ; OPT-NEXT: br
476 ; OPT-NEXT: .LBB{{[0-9]+}}_{{[0-9]+}}:
477 ; OPT-NEXT: end_loop
478 ; OPT-NEXT: end_block
479 ; OPT-NEXT: unreachable
480 ; OPT-NEXT: .LBB{{[0-9]+}}_{{[0-9]+}}:
481 ; OPT-NEXT: end_block
482 ; OPT: br
483 ; OPT-NEXT: .LBB{{[0-9]+}}_{{[0-9]+}}:
484 ; OPT-NEXT: end_loop
532 ; OPT-LABEL: test4:
533 ; OPT-NEXT: .param i32{{$}}
534 ; OPT: block{{$}}
535 ; OPT-NEXT: block{{$}}
536 ; OPT: br_if 0, $pop{{[0-9]+}}{{$}}
537 ; OPT: br_if 1, $pop{{[0-9]+}}{{$}}
538 ; OPT: br 1{{$}}
539 ; OPT-NEXT: .LBB13_3:
540 ; OPT-NEXT: end_block{{$}}
541 ; OPT-NEXT: block{{$}}
542 ; OPT: br_if 0, $pop{{[0-9]+}}{{$}}
543 ; OPT: br_if 1, $pop{{[0-9]+}}{{$}}
544 ; OPT-NEXT: .LBB13_5:
545 ; OPT-NEXT: end_block{{$}}
546 ; OPT-NEXT: return{{$}}
547 ; OPT-NEXT: .LBB13_6:
548 ; OPT-NEXT: end_block{{$}}
549 ; OPT-NEXT: return{{$}}
585 ; OPT-LABEL: test5:
586 ; OPT: .LBB14_1:
587 ; OPT-NEXT: block{{$}}
588 ; OPT-NEXT: loop{{$}}
589 ; OPT: br_if 2, {{[^,]+}}{{$}}
590 ; OPT: br_if 0, {{[^,]+}}{{$}}
591 ; OPT-NEXT: end_loop{{$}}
592 ; OPT: return{{$}}
593 ; OPT-NEXT: .LBB14_4:
594 ; OPT: return{{$}}
641 ; OPT-LABEL: test6:
642 ; OPT: .LBB15_1:
643 ; OPT-NEXT: block{{$}}
644 ; OPT-NEXT: block{{$}}
645 ; OPT-NEXT: loop{{$}}
646 ; OPT-NOT: block
647 ; OPT: br_if 3, {{[^,]+}}{{$}}
648 ; OPT-NOT: block
649 ; OPT: br_if 2, {{[^,]+}}{{$}}
650 ; OPT-NOT: block
651 ; OPT: br_if 0, {{[^,]+}}{{$}}
652 ; OPT-NEXT: end_loop{{$}}
653 ; OPT-NOT: block
654 ; OPT: return{{$}}
655 ; OPT-NEXT: .LBB15_5:
656 ; OPT-NEXT: end_block{{$}}
657 ; OPT-NOT: block
658 ; OPT: .LBB15_6:
659 ; OPT-NEXT: end_block{{$}}
660 ; OPT-NOT: block
661 ; OPT: return{{$}}
711 ; OPT-LABEL: test7:
712 ; OPT: .LBB16_1:
713 ; OPT-NEXT: block
714 ; OPT-NEXT: loop{{$}}
715 ; OPT-NOT: block
716 ; OPT: block{{$}}
717 ; OPT-NOT: block
718 ; OPT: br_if 0, {{[^,]+}}{{$}}
719 ; OPT-NOT: block
720 ; OPT: br_if 1, {{[^,]+}}{{$}}
721 ; OPT: br 3{{$}}
722 ; OPT-NEXT: .LBB16_3:
723 ; OPT-NEXT: end_block
724 ; OPT-NOT: block
725 ; OPT: br_if 0, {{[^,]+}}{{$}}
726 ; OPT-NEXT: end_loop
727 ; OPT-NOT: block
728 ; OPT: unreachable
729 ; OPT-NEXT: .LBB16_5:
730 ; OPT-NEXT: end_block
731 ; OPT-NOT: block
732 ; OPT: unreachable
769 ; OPT-LABEL: test8:
770 ; OPT: .LBB17_1:
771 ; OPT-NEXT: loop{{$}}
772 ; OPT-NEXT: i32.const $push{{[^,]+}}, 0{{$}}
773 ; OPT-NEXT: br_if 0, {{[^,]+}}{{$}}
774 ; OPT-NEXT: br 0{{$}}
775 ; OPT-NEXT: .LBB17_2:
776 ; OPT-NEXT: end_loop{{$}}
819 ; OPT-LABEL: test9:
820 ; OPT: .LBB18_1:
821 ; OPT-NEXT: loop{{$}}
822 ; OPT-NOT: block
823 ; OPT: br_if 1, {{[^,]+}}{{$}}
824 ; OPT-NEXT: .LBB18_2:
825 ; OPT-NEXT: loop{{$}}
826 ; OPT-NOT: block
827 ; OPT: block{{$}}
828 ; OPT-NOT: block
829 ; OPT: br_if 0, {{[^,]+}}{{$}}
830 ; OPT-NOT: block
831 ; OPT: br_if 1, {{[^,]+}}{{$}}
832 ; OPT-NEXT: br 3{{$}}
833 ; OPT-NEXT: .LBB18_4:
834 ; OPT-NEXT: end_block{{$}}
835 ; OPT-NOT: block
836 ; OPT: br_if 0, {{[^,]+}}{{$}}
837 ; OPT-NEXT: br 2{{$}}
838 ; OPT-NEXT: .LBB18_5:
839 ; OPT-NOT: block
840 ; OPT: return{{$}}
899 ; OPT-LABEL: test10:
900 ; OPT: .LBB19_1:
901 ; OPT-NEXT: loop{{$}}
902 ; OPT-NOT: block
903 ; OPT: br_if 0, {{[^,]+}}{{$}}
904 ; OPT: .LBB19_3:
905 ; OPT-NEXT: block{{$}}
906 ; OPT-NEXT: loop{{$}}
907 ; OPT-NOT: block
908 ; OPT: .LBB19_4:
909 ; OPT-NEXT: loop{{$}}
910 ; OPT-NOT: block
911 ; OPT: br_if 5, {{[^,]+}}{{$}}
912 ; OPT-NOT: block
913 ; OPT: br_table {{[^,]+}}, 0, 1, 5, 2, 4, 0{{$}}
914 ; OPT-NEXT: .LBB19_6:
915 ; OPT-NEXT: end_loop{{$}}
916 ; OPT-NEXT: end_loop{{$}}
917 ; OPT-NEXT: return{{$}}
918 ; OPT-NEXT: .LBB19_7:
919 ; OPT-NEXT: end_block{{$}}
920 ; OPT-NOT: block
921 ; OPT: br 0{{$}}
922 ; OPT-NEXT: .LBB19_8:
993 ; OPT-LABEL: test11:
994 ; OPT: block{{$}}
995 ; OPT-NEXT: block{{$}}
996 ; OPT: br_if 0, $pop{{[0-9]+}}{{$}}
997 ; OPT-NOT: block
998 ; OPT: block{{$}}
999 ; OPT-NEXT: br_if 0, $0{{$}}
1000 ; OPT-NOT: block
1001 ; OPT: br_if 2, {{[^,]+}}{{$}}
1002 ; OPT-NEXT: .LBB20_3:
1003 ; OPT-NEXT: end_block{{$}}
1004 ; OPT-NOT: block
1005 ; OPT: return{{$}}
1006 ; OPT-NEXT: .LBB20_4:
1007 ; OPT-NEXT: end_block{{$}}
1008 ; OPT-NOT: block
1009 ; OPT: block{{$}}
1010 ; OPT-NOT: block
1011 ; OPT: br_if 0, $pop{{[0-9]+}}{{$}}
1012 ; OPT-NOT: block
1013 ; OPT: return{{$}}
1014 ; OPT-NEXT: .LBB20_6:
1015 ; OPT-NEXT: end_block{{$}}
1016 ; OPT-NOT: block
1017 ; OPT: br_if 0, $pop{{[0-9]+}}{{$}}
1018 ; OPT-NOT: block
1019 ; OPT: return{{$}}
1020 ; OPT-NEXT: .LBB20_8:
1021 ; OPT-NEXT: end_block{{$}}
1022 ; OPT-NOT: block
1023 ; OPT: return{{$}}
1079 ; OPT-LABEL: test12:
1080 ; OPT: .LBB21_1:
1081 ; OPT-NEXT: loop{{$}}
1082 ; OPT-NOT: block
1083 ; OPT: block{{$}}
1084 ; OPT-NEXT: block{{$}}
1085 ; OPT: br_if 0, {{[^,]+}}{{$}}
1086 ; OPT-NOT: block
1087 ; OPT: br_if 1, {{[^,]+}}{{$}}
1088 ; OPT-NOT: block
1089 ; OPT: br_if 1, {{[^,]+}}{{$}}
1090 ; OPT-NEXT: br 3{{$}}
1091 ; OPT-NEXT: .LBB21_4:
1092 ; OPT-NEXT: end_block{{$}}
1093 ; OPT-NOT: block
1094 ; OPT: br_if 0, {{[^,]+}}{{$}}
1095 ; OPT-NOT: block
1096 ; OPT: br_if 2, {{[^,]+}}{{$}}
1097 ; OPT-NEXT: .LBB21_6:
1098 ; OPT-NEXT: end_block{{$}}
1099 ; OPT: br 0{{$}}
1100 ; OPT-NEXT: .LBB21_7:
1101 ; OPT-NEXT: end_loop{{$}}
1102 ; OPT-NEXT: return{{$}}
1147 ; OPT-LABEL: test13:
1148 ; OPT-NEXT: .local i32{{$}}
1149 ; OPT-NEXT: block{{$}}
1150 ; OPT-NEXT: block{{$}}
1151 ; OPT: br_if 0, $pop0{{$}}
1152 ; OPT: block{{$}}
1153 ; OPT: br_if 0, $pop3{{$}}
1154 ; OPT: .LBB22_3:
1155 ; OPT-NEXT: end_block{{$}}
1156 ; OPT: br_if 1, $pop{{[0-9]+}}{{$}}
1157 ; OPT-NEXT: br 1{{$}}
1158 ; OPT-NEXT: .LBB22_4:
1159 ; OPT-NEXT: end_block
1160 ; OPT-NEXT: return
1161 ; OPT-NEXT: .LBB22_5:
1162 ; OPT-NEXT: end_block{{$}}
1163 ; OPT-NEXT: unreachable{{$}}
1266 ; OPT-LABEL: test15:
1267 ; OPT: block
1268 ; OPT: block
1269 ; OPT-NEXT: i32.const $push
1270 ; OPT-NEXT: i32.eqz $push{{.*}}=, $pop{{.*}}{{$}}
1271 ; OPT-NEXT: br_if 0, $pop{{.*}}{{$}}
1272 ; OPT-NEXT: call test15_callee1@FUNCTION{{$}}
1273 ; OPT-NEXT: br 1{{$}}
1274 ; OPT-NEXT: .LBB24_2:
1275 ; OPT-NEXT: end_block
1276 ; OPT-NEXT: i32.const
1277 ; OPT-NEXT: .LBB24_3:
1278 ; OPT-NEXT: block
1279 ; OPT-NEXT: loop