| # RUN: llc -mtriple=amdgpu9.50-amd-amdhsa -run-pass=pipeliner -debug-only=pipeliner %s -filetype=null 2>&1 | FileCheck %s |
| # REQUIRES: asserts |
| # Reject a loop whose body contains inline asm. |
| # analyzeLoopForPipelining returns nullptr. |
| # CHECK: Unable to analyzeLoop, can NOT pipeline Loop |
| |
| --- |
| name: swp_amdgpu_pipeline_neg_inlineasm |
| tracksRegLiveness: true |
| isSSA: true |
| liveins: |
| - { reg: '$sgpr8' } |
| machineFunctionInfo: |
| isEntryFunction: true |
| argumentInfo: |
| firstKernArgPreloadReg: { reg: '$sgpr8' } |
| body: | |
| bb.0: |
| liveins: $sgpr8 |
| |
| %0:sreg_32 = COPY $sgpr8 |
| %1:sreg_32 = S_MOV_B32 0 |
| |
| bb.1: |
| successors: %bb.2, %bb.1 |
| |
| %2:sreg_32 = PHI %1, %bb.0, %3, %bb.1 |
| INLINEASM &"s_nop 0", 1 /* sideeffect attdialect */ |
| %3:sreg_32 = S_ADD_I32 %2, 1, implicit-def dead $scc |
| S_CMP_LG_U32 %0, %3, implicit-def $scc |
| S_CBRANCH_SCC1 %bb.1, implicit $scc |
| S_BRANCH %bb.2 |
| |
| bb.2: |
| S_ENDPGM 0 |
| ... |