brintos

brintos / llvm-project-archived public Read only

0
0
Text · 13.8 KiB · 3b33828 Raw
645 lines · plain
1# RUN: llc -mtriple=x86_64-unknown-linux-gnu -run-pass=print-machine-cycles -o - %s 2>&1 | FileCheck %s --check-prefixes=LEGACY,CHECK2 3# RUN: llc -mtriple=x86_64-unknown-linux-gnu -passes="machine-function(print,print<machine-cycles>)" -o - %s 2>&1 | FileCheck %s --check-prefixes=NPM,CHECK4 5...6---7# LEGACY-LABEL: MachineCycleInfo for function: empty8# NPM-LABEL: name: empty9name:            empty10alignment:       1611tracksRegLiveness: true12frameInfo:13  maxAlignment:    114machineFunctionInfo: {}15body:             |16  bb.0:17    RET6418 19...20---21# LEGACY-LABEL: MachineCycleInfo for function: simple22# NPM-LABEL: name: simple23# CHECK:           depth=1: entries(bb.1)24name:            simple25alignment:       1626tracksRegLiveness: true27registers:28  - { id: 0, class: gr8 }29frameInfo:30  maxAlignment:    131machineFunctionInfo: {}32body:             |33  bb.0:34    JMP_1 %bb.135 36  bb.1:37    %0:gr8 = IMPLICIT_DEF38    TEST8ri %0, 1, implicit-def $eflags39    JCC_1 %bb.1, 5, implicit $eflags40    JMP_1 %bb.241 42  bb.2:43    RET6444 45...46---47# LEGACY-LABEL: MachineCycleInfo for function: two_latches48# NPM-LABEL: name: two_latches49# CHECK:           depth=1: entries(bb.1) bb.250name:            two_latches51alignment:       1652tracksRegLiveness: true53registers:54  - { id: 0, class: gr8 }55  - { id: 1, class: gr8 }56frameInfo:57  maxAlignment:    158machineFunctionInfo: {}59body:             |60  bb.0:61    JMP_1 %bb.162 63  bb.1:64    %0:gr8 = IMPLICIT_DEF65    TEST8ri %0, 1, implicit-def $eflags66    JCC_1 %bb.1, 5, implicit $eflags67    JMP_1 %bb.268 69  bb.2:70    %1:gr8 = IMPLICIT_DEF71    TEST8ri %1, 1, implicit-def $eflags72    JCC_1 %bb.3, 5, implicit $eflags73    JMP_1 %bb.174 75  bb.3:76    RET6477 78...79---80# LEGACY-LABEL: MachineCycleInfo for function: nested_simple81# NPM-LABEL: name: nested_simple82# CHECK:           depth=1: entries(bb.1) bb.3 bb.283# CHECK:               depth=2: entries(bb.2)84name:            nested_simple85alignment:       1686tracksRegLiveness: true87registers:88  - { id: 0, class: gr8 }89  - { id: 1, class: gr8 }90frameInfo:91  maxAlignment:    192machineFunctionInfo: {}93body:             |94  bb.0:95    JMP_1 %bb.196 97  bb.1:98    JMP_1 %bb.299 100  bb.2:101    %0:gr8 = IMPLICIT_DEF102    TEST8ri %0, 1, implicit-def $eflags103    JCC_1 %bb.2, 5, implicit $eflags104    JMP_1 %bb.3105 106  bb.3:107    %1:gr8 = IMPLICIT_DEF108    TEST8ri %1, 1, implicit-def $eflags109    JCC_1 %bb.1, 5, implicit $eflags110    JMP_1 %bb.4111 112  bb.4:113    RET64114 115...116---117# LEGACY-LABEL: MachineCycleInfo for function: nested_outer_latch_in_inner_loop118# NPM-LABEL: name: nested_outer_latch_in_inner_loop119# CHECK:           depth=1: entries(bb.1) bb.2 bb.3120# CHECK:               depth=2: entries(bb.2) bb.3121name:            nested_outer_latch_in_inner_loop122alignment:       16123tracksRegLiveness: true124registers:125  - { id: 0, class: gr8 }126  - { id: 1, class: gr8 }127frameInfo:128  maxAlignment:    1129machineFunctionInfo: {}130body:             |131  bb.0:132    JMP_1 %bb.1133 134  bb.1:135    JMP_1 %bb.2136 137  bb.2:138    %0:gr8 = IMPLICIT_DEF139    TEST8ri %0, 1, implicit-def $eflags140    JCC_1 %bb.3, 5, implicit $eflags141    JMP_1 %bb.1142 143  bb.3:144    %1:gr8 = IMPLICIT_DEF145    TEST8ri %1, 1, implicit-def $eflags146    JCC_1 %bb.4, 5, implicit $eflags147    JMP_1 %bb.2148 149  bb.4:150    RET64151 152...153---154# LEGACY-LABEL: MachineCycleInfo for function: sibling_loops155# NPM-LABEL: name: sibling_loops156# CHECK:           depth=1: entries(bb.1)157# CHECK:           depth=1: entries(bb.2)158name:            sibling_loops159alignment:       16160tracksRegLiveness: true161registers:162  - { id: 0, class: gr8 }163  - { id: 1, class: gr8 }164  - { id: 2, class: gr8 }165frameInfo:166  maxAlignment:    1167machineFunctionInfo: {}168body:             |169  bb.0:170    %0:gr8 = IMPLICIT_DEF171    TEST8ri %0, 1, implicit-def $eflags172    JCC_1 %bb.1, 5, implicit $eflags173    JMP_1 %bb.2174 175  bb.1:176    %2:gr8 = IMPLICIT_DEF177    TEST8ri %2, 1, implicit-def $eflags178    JCC_1 %bb.1, 5, implicit $eflags179    JMP_1 %bb.3180 181  bb.2:182    %1:gr8 = IMPLICIT_DEF183    TEST8ri %1, 1, implicit-def $eflags184    JCC_1 %bb.2, 5, implicit $eflags185    JMP_1 %bb.3186 187  bb.3:188    RET64189 190...191---192# LEGACY-LABEL: MachineCycleInfo for function: serial_loops193# NPM-LABEL: name: serial_loops194# CHECK:           depth=1: entries(bb.2)195# CHECK:           depth=1: entries(bb.1)196name:            serial_loops197alignment:       16198tracksRegLiveness: true199registers:200  - { id: 0, class: gr8 }201  - { id: 1, class: gr8 }202frameInfo:203  maxAlignment:    1204machineFunctionInfo: {}205body:             |206  bb.0:207    JMP_1 %bb.1208 209  bb.1:210    %0:gr8 = IMPLICIT_DEF211    TEST8ri %0, 1, implicit-def $eflags212    JCC_1 %bb.1, 5, implicit $eflags213    JMP_1 %bb.2214 215  bb.2:216    %1:gr8 = IMPLICIT_DEF217    TEST8ri %1, 1, implicit-def $eflags218    JCC_1 %bb.2, 5, implicit $eflags219    JMP_1 %bb.3220 221  bb.3:222    RET64223 224...225---226# LEGACY-LABEL: MachineCycleInfo for function: nested_sibling_loops227# NPM-LABEL: name: nested_sibling_loops228# CHECK:           depth=1: entries(bb.1) bb.4 bb.5 bb.3 bb.2229# CHECK:               depth=2: entries(bb.4) bb.5230# CHECK:               depth=2: entries(bb.2)231name:            nested_sibling_loops232alignment:       16233tracksRegLiveness: true234registers:235  - { id: 0, class: gr8 }236  - { id: 1, class: gr32 }237  - { id: 2, class: gr8 }238  - { id: 3, class: gr32 }239  - { id: 4, class: gr8 }240  - { id: 5, class: gr32 }241  - { id: 6, class: gr8 }242  - { id: 7, class: gr32 }243  - { id: 8, class: gr8 }244frameInfo:245  maxAlignment:    1246machineFunctionInfo: {}247body:             |248  bb.0:249    JMP_1 %bb.1250 251  bb.1:252    %0:gr8 = IMPLICIT_DEF253    TEST8ri %0, 1, implicit-def $eflags254    JCC_1 %bb.2, 5, implicit $eflags255    JMP_1 %bb.3256 257  bb.2:258    %5:gr32 = MOV32r0 implicit-def dead $eflags259    %6:gr8 = COPY %5.sub_8bit260    TEST8rr %6, %6, implicit-def $eflags261    JCC_1 %bb.2, 5, implicit $eflags262    JMP_1 %bb.6263 264  bb.6:265    %7:gr32 = MOV32r0 implicit-def dead $eflags266    %8:gr8 = COPY %7.sub_8bit267    TEST8rr %8, %8, implicit-def $eflags268    JCC_1 %bb.1, 5, implicit $eflags269    JMP_1 %bb.4270 271  bb.3:272    %1:gr32 = MOV32r0 implicit-def dead $eflags273    %2:gr8 = COPY %1.sub_8bit274    TEST8rr %2, %2, implicit-def $eflags275    JCC_1 %bb.4, 5, implicit $eflags276    JMP_1 %bb.5277 278  bb.5:279    %3:gr32 = MOV32r0 implicit-def dead $eflags280    %4:gr8 = COPY %3.sub_8bit281    TEST8rr %4, %4, implicit-def $eflags282    JCC_1 %bb.3, 5, implicit $eflags283    JMP_1 %bb.1284 285  bb.4:286    RET64287 288...289---290# LEGACY-LABEL: MachineCycleInfo for function: deeper_nest291# NPM-LABEL: name: deeper_nest292# CHECK:           depth=1: entries(bb.1) bb.5 bb.2 bb.3 bb.4293# CHECK:               depth=2: entries(bb.2) bb.3 bb.4294# CHECK:                   depth=3: entries(bb.3) bb.4295name:            deeper_nest296alignment:       16297tracksRegLiveness: true298registers:299  - { id: 0, class: gr8 }300  - { id: 1, class: gr8 }301  - { id: 2, class: gr8 }302frameInfo:303  maxAlignment:    1304machineFunctionInfo: {}305body:             |306  bb.0:307    JMP_1 %bb.1308 309  bb.1:310    JMP_1 %bb.2311 312  bb.2:313    JMP_1 %bb.3314 315  bb.3:316    %0:gr8 = IMPLICIT_DEF317    TEST8ri %0, 1, implicit-def $eflags318    JCC_1 %bb.2, 5, implicit $eflags319    JMP_1 %bb.4320 321  bb.4:322    %1:gr8 = IMPLICIT_DEF323    TEST8ri %1, 1, implicit-def $eflags324    JCC_1 %bb.3, 5, implicit $eflags325    JMP_1 %bb.5326 327  bb.5:328    %2:gr8 = IMPLICIT_DEF329    TEST8ri %2, 1, implicit-def $eflags330    JCC_1 %bb.1, 5, implicit $eflags331    JMP_1 %bb.6332 333  bb.6:334    RET64335 336...337---338# LEGACY-LABEL: MachineCycleInfo for function: irreducible_basic339# NPM-LABEL: name: irreducible_basic340# CHECK:           depth=1: entries(bb.2 bb.1)341name:            irreducible_basic342alignment:       16343tracksRegLiveness: true344registers:345  - { id: 0, class: gr8 }346  - { id: 1, class: gr8 }347  - { id: 2, class: gr8 }348frameInfo:349  maxAlignment:    1350machineFunctionInfo: {}351body:             |352  bb.0:353    %0:gr8 = IMPLICIT_DEF354    TEST8ri %0, 1, implicit-def $eflags355    JCC_1 %bb.1, 5, implicit $eflags356    JMP_1 %bb.2357 358  bb.1:359    %1:gr8 = IMPLICIT_DEF360    TEST8ri %1, 1, implicit-def $eflags361    JCC_1 %bb.2, 5, implicit $eflags362    JMP_1 %bb.3363 364  bb.2:365    %2:gr8 = IMPLICIT_DEF366    TEST8ri %2, 1, implicit-def $eflags367    JCC_1 %bb.1, 5, implicit $eflags368    JMP_1 %bb.3369 370  bb.3:371    RET64372 373...374---375# LEGACY-LABEL: MachineCycleInfo for function: irreducible_mess376# NPM-LABEL: name: irreducible_mess377# CHECK:           depth=1: entries(bb.2 bb.1) bb.6 bb.5 bb.3 bb.4378# CHECK:               depth=2: entries(bb.5 bb.3 bb.1) bb.4379# CHECK:                   depth=3: entries(bb.3 bb.1) bb.4380name:            irreducible_mess381alignment:       16382tracksRegLiveness: true383registers:384  - { id: 0, class: gr8 }385  - { id: 1, class: gr8 }386  - { id: 2, class: gr32 }387  - { id: 3, class: gr8 }388  - { id: 4, class: gr32 }389  - { id: 5, class: gr8 }390  - { id: 6, class: gr32 }391  - { id: 7, class: gr8 }392  - { id: 8, class: gr32 }393  - { id: 9, class: gr8 }394  - { id: 10, class: gr8 }395frameInfo:396  maxAlignment:    1397machineFunctionInfo: {}398body:             |399  bb.0:400    %0:gr8 = IMPLICIT_DEF401    TEST8ri %0, 1, implicit-def $eflags402    JCC_1 %bb.1, 5, implicit $eflags403    JMP_1 %bb.2404 405  bb.1:406    %1:gr8 = IMPLICIT_DEF407    TEST8ri %1, 1, implicit-def $eflags408    JCC_1 %bb.3, 5, implicit $eflags409    JMP_1 %bb.4410 411  bb.2:412    %10:gr8 = IMPLICIT_DEF413    TEST8ri %10, 1, implicit-def $eflags414    JCC_1 %bb.3, 5, implicit $eflags415    JMP_1 %bb.4416 417  bb.3:418    %2:gr32 = MOV32r0 implicit-def dead $eflags419    %3:gr8 = COPY %2.sub_8bit420    TEST8rr %3, %3, implicit-def $eflags421    JCC_1 %bb.4, 5, implicit $eflags422    JMP_1 %bb.6423 424  bb.6:425    %4:gr32 = MOV32r0 implicit-def dead $eflags426    %5:gr8 = COPY %4.sub_8bit427    TEST8rr %5, %5, implicit-def $eflags428    JCC_1 %bb.5, 5, implicit $eflags429    JMP_1 %bb.1430 431  bb.4:432    %6:gr32 = MOV32r0 implicit-def dead $eflags433    %7:gr8 = COPY %6.sub_8bit434    TEST8rr %7, %7, implicit-def $eflags435    JCC_1 %bb.3, 5, implicit $eflags436    JMP_1 %bb.7437 438  bb.7:439    successors: %bb.5, %bb.2440 441    %8:gr32 = MOV32r0 implicit-def dead $eflags442    %9:gr8 = COPY %8.sub_8bit443    TEST8rr %9, %9, implicit-def $eflags444    JCC_1 %bb.2, 5, implicit $eflags445    JMP_1 %bb.5446 447  bb.5:448    RET64449 450...451---452# LEGACY-LABEL: MachineCycleInfo for function: irreducible_into_simple_cycle453# NPM-LABEL: name: irreducible_into_simple_cycle454# CHECK:           depth=1: entries(bb.2 bb.7 bb.4) bb.6 bb.5 bb.3455name:            irreducible_into_simple_cycle456alignment:       16457tracksRegLiveness: true458registers:459  - { id: 0, class: gr32 }460  - { id: 1, class: gr8 }461  - { id: 2, class: gr32 }462  - { id: 3, class: gr8 }463  - { id: 4, class: gr8 }464  - { id: 5, class: gr8 }465frameInfo:466  maxAlignment:    1467machineFunctionInfo: {}468body:             |469  bb.0:470    %0:gr32 = MOV32r0 implicit-def dead $eflags471    %1:gr8 = COPY %0.sub_8bit472    TEST8rr %1, %1, implicit-def $eflags473    JCC_1 %bb.3, 5, implicit $eflags474    JMP_1 %bb.8475 476  bb.8:477    %2:gr32 = MOV32r0 implicit-def dead $eflags478    %3:gr8 = COPY %2.sub_8bit479    TEST8rr %3, %3, implicit-def $eflags480    JCC_1 %bb.6, 5, implicit $eflags481    JMP_1 %bb.1482 483  bb.1:484    JMP_1 %bb.2485 486  bb.2:487    JMP_1 %bb.3488 489  bb.3:490    JMP_1 %bb.4491 492  bb.4:493    %4:gr8 = IMPLICIT_DEF494    TEST8ri %4, 1, implicit-def $eflags495    JCC_1 %bb.5, 5, implicit $eflags496    JMP_1 %bb.7497 498  bb.5:499    JMP_1 %bb.6500 501  bb.6:502    %5:gr8 = IMPLICIT_DEF503    TEST8ri %5, 1, implicit-def $eflags504    JCC_1 %bb.1, 5, implicit $eflags505    JMP_1 %bb.7506 507  bb.7:508    RET64509 510...511---512# LEGACY-LABEL: MachineCycleInfo for function: irreducible_mountain_bug513# NPM-LABEL: name: irreducible_mountain_bug514# CHECK:           depth=1: entries(bb.6) bb.11 bb.10 bb.8 bb.7 bb.9 bb.12515# CHECK:               depth=2: entries(bb.10 bb.7) bb.8 bb.9516# CHECK:                   depth=3: entries(bb.8 bb.7) bb.9517name:            irreducible_mountain_bug518alignment:       16519tracksRegLiveness: true520registers:521  - { id: 0, class: gr8 }522  - { id: 1, class: gr8 }523  - { id: 2, class: gr8 }524  - { id: 3, class: gr8 }525  - { id: 4, class: gr8 }526  - { id: 5, class: gr8 }527  - { id: 6, class: gr8 }528  - { id: 7, class: gr8 }529  - { id: 8, class: gr8 }530  - { id: 9, class: gr8 }531  - { id: 10, class: gr8 }532  - { id: 11, class: gr8 }533  - { id: 12, class: gr8 }534  - { id: 13, class: gr8 }535frameInfo:536  maxAlignment:    1537machineFunctionInfo: {}538body:             |539  bb.0:540    %0:gr8 = IMPLICIT_DEF541    TEST8ri %0, 1, implicit-def $eflags542    JCC_1 %bb.1, 5, implicit $eflags543    JMP_1 %bb.17544 545  bb.1:546    %3:gr8 = IMPLICIT_DEF547    TEST8ri %3, 1, implicit-def $eflags548    JCC_1 %bb.2, 5, implicit $eflags549    JMP_1 %bb.3550 551  bb.2:552    JMP_1 %bb.4553 554  bb.3:555    JMP_1 %bb.4556 557  bb.4:558    %4:gr8 = IMPLICIT_DEF559    TEST8ri %4, 1, implicit-def $eflags560    JCC_1 %bb.5, 5, implicit $eflags561    JMP_1 %bb.14562 563  bb.5:564    JMP_1 %bb.6565 566  bb.6:567    %7:gr8 = IMPLICIT_DEF568    TEST8ri %7, 1, implicit-def $eflags569    JCC_1 %bb.7, 5, implicit $eflags570    JMP_1 %bb.12571 572  bb.7:573    %9:gr8 = IMPLICIT_DEF574    TEST8ri %9, 1, implicit-def $eflags575    JCC_1 %bb.11, 5, implicit $eflags576    JMP_1 %bb.8577 578  bb.8:579    %10:gr8 = IMPLICIT_DEF580    TEST8ri %10, 1, implicit-def $eflags581    JCC_1 %bb.20, 5, implicit $eflags582    JMP_1 %bb.9583 584  bb.9:585    %11:gr8 = IMPLICIT_DEF586    TEST8ri %11, 1, implicit-def $eflags587    JCC_1 %bb.7, 5, implicit $eflags588    JMP_1 %bb.10589 590  bb.10:591    %12:gr8 = IMPLICIT_DEF592    TEST8ri %12, 1, implicit-def $eflags593    JCC_1 %bb.8, 5, implicit $eflags594    JMP_1 %bb.6595 596  bb.11:597    %13:gr8 = IMPLICIT_DEF598    TEST8ri %13, 1, implicit-def $eflags599    JCC_1 %bb.20, 5, implicit $eflags600    JMP_1 %bb.6601 602  bb.12:603    %8:gr8 = IMPLICIT_DEF604    TEST8ri %8, 1, implicit-def $eflags605    JCC_1 %bb.10, 5, implicit $eflags606    JMP_1 %bb.13607 608  bb.13:609    JMP_1 %bb.20610 611  bb.14:612    %5:gr8 = IMPLICIT_DEF613    TEST8ri %5, 1, implicit-def $eflags614    JCC_1 %bb.20, 5, implicit $eflags615    JMP_1 %bb.15616 617  bb.15:618    %6:gr8 = IMPLICIT_DEF619    TEST8ri %6, 1, implicit-def $eflags620    JCC_1 %bb.20, 5, implicit $eflags621    JMP_1 %bb.16622 623  bb.16:624    JMP_1 %bb.20625 626  bb.17:627    %1:gr8 = IMPLICIT_DEF628    TEST8ri %1, 1, implicit-def $eflags629    JCC_1 %bb.20, 5, implicit $eflags630    JMP_1 %bb.18631 632  bb.18:633    %2:gr8 = IMPLICIT_DEF634    TEST8ri %2, 1, implicit-def $eflags635    JCC_1 %bb.20, 5, implicit $eflags636    JMP_1 %bb.19637 638  bb.19:639    JMP_1 %bb.20640 641  bb.20:642    RET64643 644...645