| # 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 | |
| ... |