brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.7 KiB · 3925191 Raw
295 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn -mcpu=gfx1150 -run-pass=post-RA-hazard-rec %s -o - | FileCheck -check-prefixes=GFX1150 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx11-generic -run-pass=post-RA-hazard-rec %s -o - | FileCheck -check-prefixes=GFX1150 %s4 5--- |6  define amdgpu_ps void @end_of_shader() {7    ret void8  }9  define amdgpu_ps void @end_of_shader_return_to_epilogue() {10    ret void11  }12  define amdgpu_ps void @end_of_block() {13    ret void14  }15  define amdgpu_ps void @start_of_block() {16    ret void17  }18  define amdgpu_ps void @block_of_exports() {19    ret void20  }21  define amdgpu_ps void @sparse_exports() {22    ret void23  }24  define amdgpu_ps void @existing_setprio_1() {25    ret void26  }27  define amdgpu_ps void @existing_setprio_2() {28    ret void29  }30...31 32---33name: end_of_shader34tracksRegLiveness: true35liveins:36  - { reg: '$vgpr0' }37body: |38  bb.0:39    liveins: $vgpr040    ; GFX1150-LABEL: name: end_of_shader41    ; GFX1150: liveins: $vgpr042    ; GFX1150-NEXT: {{  $}}43    ; GFX1150-NEXT: S_SETPRIO 244    ; GFX1150-NEXT: EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec45    ; GFX1150-NEXT: S_SETPRIO 046    ; GFX1150-NEXT: S_NOP 047    ; GFX1150-NEXT: S_NOP 048    ; GFX1150-NEXT: S_ENDPGM 049    EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec50    S_ENDPGM 051...52 53---54name: end_of_shader_return_to_epilogue55tracksRegLiveness: true56liveins:57  - { reg: '$vgpr0' }58body: |59  bb.0:60    liveins: $vgpr061    ; GFX1150-LABEL: name: end_of_shader_return_to_epilogue62    ; GFX1150: liveins: $vgpr063    ; GFX1150-NEXT: {{  $}}64    ; GFX1150-NEXT: S_SETPRIO 265    ; GFX1150-NEXT: EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec66    ; GFX1150-NEXT: S_SETPRIO 067    ; GFX1150-NEXT: S_WAITCNT_EXPCNT $sgpr_null, 068    ; GFX1150-NEXT: S_NOP 069    ; GFX1150-NEXT: S_NOP 070    ; GFX1150-NEXT: S_SETPRIO 271    ; GFX1150-NEXT: SI_RETURN_TO_EPILOG $vgpr072    EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec73    SI_RETURN_TO_EPILOG $vgpr074...75 76---77name: end_of_block78tracksRegLiveness: true79liveins:80  - { reg: '$vgpr0' }81body: |82  ; GFX1150-LABEL: name: end_of_block83  ; GFX1150: bb.0:84  ; GFX1150-NEXT:   successors: %bb.1(0x80000000)85  ; GFX1150-NEXT:   liveins: $vgpr086  ; GFX1150-NEXT: {{  $}}87  ; GFX1150-NEXT:   S_SETPRIO 288  ; GFX1150-NEXT:   EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec89  ; GFX1150-NEXT:   S_SETPRIO 090  ; GFX1150-NEXT:   S_WAITCNT_EXPCNT $sgpr_null, 091  ; GFX1150-NEXT:   S_NOP 092  ; GFX1150-NEXT:   S_NOP 093  ; GFX1150-NEXT:   S_SETPRIO 294  ; GFX1150-NEXT: {{  $}}95  ; GFX1150-NEXT: bb.1:96  ; GFX1150-NEXT:   S_ENDPGM 097  bb.0:98    liveins: $vgpr099    EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec100 101  bb.1:102    S_ENDPGM 0103...104 105---106name: start_of_block107tracksRegLiveness: true108liveins:109  - { reg: '$vgpr0' }110body: |111  ; GFX1150-LABEL: name: start_of_block112  ; GFX1150: bb.0:113  ; GFX1150-NEXT:   successors: %bb.1(0x80000000)114  ; GFX1150-NEXT:   liveins: $vgpr0115  ; GFX1150-NEXT: {{  $}}116  ; GFX1150-NEXT:   S_SETPRIO 2117  ; GFX1150-NEXT: {{  $}}118  ; GFX1150-NEXT: bb.1:119  ; GFX1150-NEXT:   successors: %bb.2(0x80000000)120  ; GFX1150-NEXT:   liveins: $vgpr0121  ; GFX1150-NEXT: {{  $}}122  ; GFX1150-NEXT:   EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec123  ; GFX1150-NEXT:   S_SETPRIO 0124  ; GFX1150-NEXT:   S_WAITCNT_EXPCNT $sgpr_null, 0125  ; GFX1150-NEXT:   S_NOP 0126  ; GFX1150-NEXT:   S_NOP 0127  ; GFX1150-NEXT:   S_SETPRIO 2128  ; GFX1150-NEXT: {{  $}}129  ; GFX1150-NEXT: bb.2:130  ; GFX1150-NEXT:   S_ENDPGM 0131  bb.0:132    liveins: $vgpr0133 134  bb.1:135    liveins: $vgpr0136    EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec137 138  bb.2:139    S_ENDPGM 0140...141 142---143name: block_of_exports144tracksRegLiveness: true145liveins:146  - { reg: '$vgpr0' }147body: |148  bb.0:149    liveins: $vgpr0150    ; GFX1150-LABEL: name: block_of_exports151    ; GFX1150: liveins: $vgpr0152    ; GFX1150-NEXT: {{  $}}153    ; GFX1150-NEXT: S_SETPRIO 2154    ; GFX1150-NEXT: EXP 2, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec155    ; GFX1150-NEXT: EXP 1, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec156    ; GFX1150-NEXT: EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec157    ; GFX1150-NEXT: S_SETPRIO 0158    ; GFX1150-NEXT: S_NOP 0159    ; GFX1150-NEXT: S_NOP 0160    ; GFX1150-NEXT: S_ENDPGM 0161    EXP 2, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec162    EXP 1, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec163    EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec164    S_ENDPGM 0165...166 167---168name: sparse_exports169tracksRegLiveness: true170liveins:171  - { reg: '$vgpr0' }172body: |173  bb.0:174    liveins: $vgpr0175    ; GFX1150-LABEL: name: sparse_exports176    ; GFX1150: liveins: $vgpr0177    ; GFX1150-NEXT: {{  $}}178    ; GFX1150-NEXT: S_SETPRIO 2179    ; GFX1150-NEXT: EXP 2, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec180    ; GFX1150-NEXT: S_SETPRIO 0181    ; GFX1150-NEXT: S_WAITCNT_EXPCNT $sgpr_null, 0182    ; GFX1150-NEXT: S_NOP 0183    ; GFX1150-NEXT: S_NOP 0184    ; GFX1150-NEXT: S_SETPRIO 2185    ; GFX1150-NEXT: $vgpr0 = V_AND_B32_e32 1, $vgpr0, implicit $exec186    ; GFX1150-NEXT: EXP 1, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec187    ; GFX1150-NEXT: S_SETPRIO 0188    ; GFX1150-NEXT: S_WAITCNT_EXPCNT $sgpr_null, 0189    ; GFX1150-NEXT: S_NOP 0190    ; GFX1150-NEXT: S_NOP 0191    ; GFX1150-NEXT: S_SETPRIO 2192    ; GFX1150-NEXT: $vgpr0 = V_OR_B32_e32 2, $vgpr0, implicit $exec193    ; GFX1150-NEXT: EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec194    ; GFX1150-NEXT: S_SETPRIO 0195    ; GFX1150-NEXT: S_NOP 0196    ; GFX1150-NEXT: S_NOP 0197    ; GFX1150-NEXT: S_ENDPGM 0198    EXP 2, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec199    $vgpr0 = V_AND_B32_e32 1, $vgpr0, implicit $exec200    EXP 1, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec201    $vgpr0 = V_OR_B32_e32 2, $vgpr0, implicit $exec202    EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec203    S_ENDPGM 0204...205 206---207name: existing_setprio_1208tracksRegLiveness: true209liveins:210  - { reg: '$vgpr0' }211body: |212  ; GFX1150-LABEL: name: existing_setprio_1213  ; GFX1150: bb.0:214  ; GFX1150-NEXT:   successors: %bb.1(0x80000000)215  ; GFX1150-NEXT:   liveins: $vgpr0216  ; GFX1150-NEXT: {{  $}}217  ; GFX1150-NEXT:   S_SETPRIO 2218  ; GFX1150-NEXT:   $vgpr0 = V_AND_B32_e32 1, $vgpr0, implicit $exec219  ; GFX1150-NEXT: {{  $}}220  ; GFX1150-NEXT: bb.1:221  ; GFX1150-NEXT:   successors: %bb.2(0x80000000)222  ; GFX1150-NEXT:   liveins: $vgpr0223  ; GFX1150-NEXT: {{  $}}224  ; GFX1150-NEXT:   S_SETPRIO 3225  ; GFX1150-NEXT:   $vgpr0 = V_OR_B32_e32 2, $vgpr0, implicit $exec226  ; GFX1150-NEXT:   S_SETPRIO 2227  ; GFX1150-NEXT: {{  $}}228  ; GFX1150-NEXT: bb.2:229  ; GFX1150-NEXT:   successors: %bb.3(0x80000000)230  ; GFX1150-NEXT:   liveins: $vgpr0231  ; GFX1150-NEXT: {{  $}}232  ; GFX1150-NEXT:   S_SETPRIO 3233  ; GFX1150-NEXT:   $vgpr0 = V_OR_B32_e32 3, $vgpr0, implicit $exec234  ; GFX1150-NEXT:   S_SETPRIO 2235  ; GFX1150-NEXT: {{  $}}236  ; GFX1150-NEXT: bb.3:237  ; GFX1150-NEXT:   liveins: $vgpr0238  ; GFX1150-NEXT: {{  $}}239  ; GFX1150-NEXT:   EXP 1, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec240  ; GFX1150-NEXT:   EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec241  ; GFX1150-NEXT:   S_SETPRIO 0242  ; GFX1150-NEXT:   S_NOP 0243  ; GFX1150-NEXT:   S_NOP 0244  ; GFX1150-NEXT:   S_ENDPGM 0245  bb.0:246    liveins: $vgpr0247    $vgpr0 = V_AND_B32_e32 1, $vgpr0, implicit $exec248 249  bb.1:250    liveins: $vgpr0251    S_SETPRIO 3252    $vgpr0 = V_OR_B32_e32 2, $vgpr0, implicit $exec253    S_SETPRIO 0254 255  bb.2:256    liveins: $vgpr0257    S_SETPRIO 1258    $vgpr0 = V_OR_B32_e32 3, $vgpr0, implicit $exec259    S_SETPRIO 0260 261  bb.3:262    liveins: $vgpr0263    EXP 1, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec264    EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec265    S_ENDPGM 0266...267 268---269name: existing_setprio_2270tracksRegLiveness: true271liveins:272  - { reg: '$vgpr0' }273body: |274  bb.0:275    liveins: $vgpr0276    ; GFX1150-LABEL: name: existing_setprio_2277    ; GFX1150: liveins: $vgpr0278    ; GFX1150-NEXT: {{  $}}279    ; GFX1150-NEXT: S_SETPRIO 3280    ; GFX1150-NEXT: EXP 1, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec281    ; GFX1150-NEXT: EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec282    ; GFX1150-NEXT: S_SETPRIO 0283    ; GFX1150-NEXT: S_WAITCNT_EXPCNT $sgpr_null, 0284    ; GFX1150-NEXT: S_NOP 0285    ; GFX1150-NEXT: S_NOP 0286    ; GFX1150-NEXT: S_SETPRIO 2287    ; GFX1150-NEXT: S_SETPRIO 3288    ; GFX1150-NEXT: S_ENDPGM 0289    S_SETPRIO 3290    EXP 1, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec291    EXP_DONE 0, $vgpr0, $vgpr0, $vgpr0, $vgpr0, -1, -1, 15, implicit $exec292    S_SETPRIO 3293    S_ENDPGM 0294...295