127 lines · plain
1# REQUIRES: amdgpu-registered-target2# RUN: llvm-reduce -abort-on-invalid-reduction -simplify-mir -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 --test FileCheck --test-arg --check-prefix=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t 2> %t.log3# RUN: FileCheck --check-prefix=RESULT %s < %t4 5# CHECK-INTERESTINGNESS-COUNT-6: S_NOP6 7# RESULT: name: func8 9--- |10 define void @func() {11 ret void12 }13 14...15 16# RESULT: machineFunctionInfo:17# RESULT-NEXT: explicitKernArgSize: 10818# RESULT-NEXT: maxKernArgAlign: 3219# RESULT-NEXT: ldsSize: 25620# RESULT-NEXT: gdsSize: 12821# RESULT-NEXT: dynLDSAlign: 1622# RESULT-NEXT: isEntryFunction: true23# RESULT-NEXT: noSignedZerosFPMath: true24# RESULT-NEXT: memoryBound: true25# RESULT-NEXT: waveLimiter: true26# RESULT-NEXT: hasSpilledSGPRs: true27# RESULT-NEXT: hasSpilledVGPRs: true28# RESULT-NEXT: scratchRSrcReg: '$sgpr48_sgpr49_sgpr50_sgpr51'29# RESULT-NEXT: frameOffsetReg: '$sgpr44'30# RESULT-NEXT: stackPtrOffsetReg: '$sgpr45'31# RESULT-NEXT: bytesInStackArgArea: 11232# RESULT-NEXT: returnsVoid: false33# RESULT-NEXT: argumentInfo:34# RESULT-NEXT: privateSegmentBuffer: { reg: '$sgpr60_sgpr61_sgpr62_sgpr63' }35# RESULT-NEXT: dispatchPtr: { reg: '$sgpr6_sgpr7' }36# RESULT-NEXT: queuePtr: { reg: '$sgpr4_sgpr5' }37# RESULT-NEXT: dispatchID: { reg: '$sgpr12_sgpr13' }38# RESULT-NEXT: workGroupIDX: { reg: '$sgpr20' }39# RESULT-NEXT: workGroupIDY: { reg: '$sgpr19' }40# RESULT-NEXT: workGroupIDZ: { reg: '$sgpr18' }41# RESULT-NEXT: LDSKernelId: { reg: '$sgpr15' }42# RESULT-NEXT: implicitArgPtr: { reg: '$sgpr10_sgpr11' }43# RESULT-NEXT: workItemIDX: { reg: '$vgpr34', mask: 1023 }44# RESULT-NEXT: workItemIDY: { reg: '$vgpr34', mask: 1047552 }45# RESULT-NEXT: workItemIDZ: { reg: '$vgpr34', mask: 1072693248 }46# RESULT-NEXT: mode:47# RESULT-NEXT: ieee: false48# RESULT-NEXT: dx10-clamp: false49# RESULT-NEXT: fp32-input-denormals: false50# RESULT-NEXT: fp32-output-denormals: false51# RESULT-NEXT: fp64-fp16-input-denormals: false52# RESULT-NEXT: fp64-fp16-output-denormals: false53# RESULT-NEXT: highBitsOf32BitAddress: 427699377554# RESULT-NEXT: occupancy: 855# RESULT-NEXT: wwmReservedRegs:56# RESULT-NEXT: - '$vgpr2'57# RESULT-NEXT: - '$vgpr3'58# RESULT-NEXT: vgprForAGPRCopy: '$vgpr33'59 60# RESULT: S_NOP 0, implicit $sgpr48_sgpr49_sgpr50_sgpr5161# RESULT: S_NOP 0, implicit $vgpr3362# RESULT: S_NOP 0, implicit $sgpr4463# RESULT: S_NOP 0, implicit $sgpr4564# RESULT: S_NOP 0, implicit $vgpr265# RESULT: S_NOP 0, implicit $vgpr366 67---68name: func69tracksRegLiveness: true70machineFunctionInfo:71 explicitKernArgSize: 10872 maxKernArgAlign: 3273 ldsSize: 25674 gdsSize: 12875 dynLDSAlign: 1676 isEntryFunction: true77 noSignedZerosFPMath: true78 memoryBound: true79 waveLimiter: true80 hasSpilledSGPRs: true81 hasSpilledVGPRs: true82 scratchRSrcReg: '$sgpr48_sgpr49_sgpr50_sgpr51'83 frameOffsetReg: '$sgpr44'84 stackPtrOffsetReg: '$sgpr45'85 bytesInStackArgArea: 11286 returnsVoid: false87 argumentInfo:88 privateSegmentBuffer: { reg: '$sgpr60_sgpr61_sgpr62_sgpr63' }89 dispatchPtr: { reg: '$sgpr6_sgpr7' }90 queuePtr: { reg: '$sgpr4_sgpr5' }91 dispatchID: { reg: '$sgpr12_sgpr13' }92 workGroupIDX: { reg: '$sgpr20' }93 workGroupIDY: { reg: '$sgpr19' }94 workGroupIDZ: { reg: '$sgpr18' }95 implicitArgPtr: { reg: '$sgpr10_sgpr11' }96 workItemIDX: { reg: '$vgpr34', mask: 1023 }97 workItemIDY: { reg: '$vgpr34', mask: 1047552 }98 workItemIDZ: { reg: '$vgpr34', mask: 1072693248 }99 mode:100 ieee: false101 dx10-clamp: false102 fp32-input-denormals: false103 fp32-output-denormals: false104 fp64-fp16-input-denormals: false105 fp64-fp16-output-denormals: false106 highBitsOf32BitAddress: 0xfeedbeef107 occupancy: 8108 wwmReservedRegs:109 - '$vgpr2'110 - '$vgpr3'111 vgprForAGPRCopy: '$vgpr33'112body: |113 bb.0:114 S_WAITCNT 0115 %0:vgpr_32 = V_MOV_B32_e32 0, implicit $exec116 117 ; Test some register uses that are undef unless the reserved118 ; registers are respected.119 S_NOP 0, implicit $sgpr48_sgpr49_sgpr50_sgpr51120 S_NOP 0, implicit $vgpr33121 S_NOP 0, implicit $sgpr44122 S_NOP 0, implicit $sgpr45123 S_NOP 0, implicit $vgpr2124 S_NOP 0, implicit $vgpr3125 S_ENDPGM 0, implicit %0126...127