reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
  922   ProgInfo.NumArchVGPR = Info.NumVGPR;
  923   ProgInfo.NumAccVGPR = Info.NumAGPR;
  924   ProgInfo.NumVGPR = Info.getTotalNumVGPRs(STM);
  925   ProgInfo.NumSGPR = Info.NumExplicitSGPR;
  926   ProgInfo.ScratchSize = Info.PrivateSegmentSize;
  927   ProgInfo.VCCUsed = Info.UsesVCC;
  928   ProgInfo.FlatUsed = Info.UsesFlatScratch;
  929   ProgInfo.DynamicCallStack = Info.HasDynamicallySizedStack || Info.HasRecursion;
  931   if (!isUInt<32>(ProgInfo.ScratchSize)) {
  933                                           ProgInfo.ScratchSize, DS_Error);
  943       &STM, ProgInfo.VCCUsed, ProgInfo.FlatUsed);
  943       &STM, ProgInfo.VCCUsed, ProgInfo.FlatUsed);
  949     if (ProgInfo.NumSGPR > MaxAddressableNumSGPRs) {
  954                                        ProgInfo.NumSGPR, DS_Error,
  958       ProgInfo.NumSGPR = MaxAddressableNumSGPRs - 1;
  963   ProgInfo.NumSGPR += ExtraSGPRs;
  975   ProgInfo.NumSGPR = std::max(ProgInfo.NumSGPR, WaveDispatchNumSGPR);
  975   ProgInfo.NumSGPR = std::max(ProgInfo.NumSGPR, WaveDispatchNumSGPR);
  976   ProgInfo.NumVGPR = std::max(ProgInfo.NumVGPR, WaveDispatchNumVGPR);
  976   ProgInfo.NumVGPR = std::max(ProgInfo.NumVGPR, WaveDispatchNumVGPR);
  980   ProgInfo.NumSGPRsForWavesPerEU = std::max(
  981     std::max(ProgInfo.NumSGPR, 1u), STM.getMinNumSGPRs(MFI->getMaxWavesPerEU()));
  982   ProgInfo.NumVGPRsForWavesPerEU = std::max(
  983     std::max(ProgInfo.NumVGPR, 1u), STM.getMinNumVGPRs(MFI->getMaxWavesPerEU()));
  988     if (ProgInfo.NumSGPR > MaxAddressableNumSGPRs) {
  994                                        ProgInfo.NumSGPR, DS_Error,
  998       ProgInfo.NumSGPR = MaxAddressableNumSGPRs;
  999       ProgInfo.NumSGPRsForWavesPerEU = MaxAddressableNumSGPRs;
 1004     ProgInfo.NumSGPR =
 1006     ProgInfo.NumSGPRsForWavesPerEU =
 1024   ProgInfo.SGPRBlocks = IsaInfo::getNumSGPRBlocks(
 1025       &STM, ProgInfo.NumSGPRsForWavesPerEU);
 1026   ProgInfo.VGPRBlocks = IsaInfo::getNumVGPRBlocks(
 1027       &STM, ProgInfo.NumVGPRsForWavesPerEU);
 1031   ProgInfo.FloatMode = getFPMode(MF);
 1034   ProgInfo.IEEEMode = Mode.IEEE;
 1037   ProgInfo.DX10Clamp = Mode.DX10Clamp;
 1051   ProgInfo.LDSSize = MFI->getLDSSize() + LDSSpillSize;
 1052   ProgInfo.LDSBlocks =
 1053       alignTo(ProgInfo.LDSSize, 1ULL << LDSAlignShift) >> LDSAlignShift;
 1060   ProgInfo.ScratchBlocks =
 1061       alignTo(ProgInfo.ScratchSize * STM.getWavefrontSize(),
 1066     ProgInfo.WgpMode = STM.isCuModeEnabled() ? 0 : 1;
 1067     ProgInfo.MemOrdered = 1;
 1070   ProgInfo.ComputePGMRSrc1 =
 1071       S_00B848_VGPRS(ProgInfo.VGPRBlocks) |
 1072       S_00B848_SGPRS(ProgInfo.SGPRBlocks) |
 1073       S_00B848_PRIORITY(ProgInfo.Priority) |
 1074       S_00B848_FLOAT_MODE(ProgInfo.FloatMode) |
 1075       S_00B848_PRIV(ProgInfo.Priv) |
 1076       S_00B848_DX10_CLAMP(ProgInfo.DX10Clamp) |
 1077       S_00B848_DEBUG_MODE(ProgInfo.DebugMode) |
 1078       S_00B848_IEEE_MODE(ProgInfo.IEEEMode) |
 1079       S_00B848_WGP_MODE(ProgInfo.WgpMode) |
 1080       S_00B848_MEM_ORDERED(ProgInfo.MemOrdered);
 1089   ProgInfo.ComputePGMRSrc2 =
 1090       S_00B84C_SCRATCH_EN(ProgInfo.ScratchBlocks > 0) |
 1101       S_00B84C_LDS_SIZE(STM.isAmdHsaOS() ? 0 : ProgInfo.LDSBlocks) |
 1104   ProgInfo.Occupancy = STM.computeOccupancy(MF, ProgInfo.LDSSize,
 1104   ProgInfo.Occupancy = STM.computeOccupancy(MF, ProgInfo.LDSSize,
 1105                                             ProgInfo.NumSGPRsForWavesPerEU,
 1106                                             ProgInfo.NumVGPRsForWavesPerEU);