Lines Matching refs:CurrentProgramInfo
201 getAmdKernelCode(KernelCode, CurrentProgramInfo, *MF); in emitFunctionBodyStart()
207 HSAMetadataStream->emitKernel(*MF, CurrentProgramInfo); in emitFunctionBodyStart()
242 STM, KernelName, getAmdhsaKernelDescriptor(*MF, CurrentProgramInfo), in emitFunctionBodyEnd()
243 CurrentProgramInfo.NumVGPRsForWavesPerEU, in emitFunctionBodyEnd()
245 CurrentProgramInfo.NumSGPRsForWavesPerEU, in emitFunctionBodyEnd()
247 CurrentProgramInfo.VCCUsed, CurrentProgramInfo.FlatUsed, in emitFunctionBodyEnd()
250 CurrentProgramInfo.VCCUsed, CurrentProgramInfo.FlatUsed); in emitFunctionBodyEnd()
473 OrValue = MCBinaryExpr::createShl(CurrentProgramInfo.DynamicCallStack, in getAmdhsaKernelCodeProperties()
504 CurrentProgramInfo.ComputePGMRSrc3GFX90A->evaluateAsAbsolute(PGRM_Rsrc3); in getAmdhsaKernelDescriptor()
509 KernelDescriptor.compute_pgm_rsrc3 = CurrentProgramInfo.ComputePGMRSrc3GFX90A; in getAmdhsaKernelDescriptor()
525 CurrentProgramInfo.reset(MF); in runOnMachineFunction()
546 getSIProgramInfo(CurrentProgramInfo, MF); in runOnMachineFunction()
551 EmitPALMetadata(MF, CurrentProgramInfo); in runOnMachineFunction()
555 EmitProgramInfoSI(MF, CurrentProgramInfo); in runOnMachineFunction()
573 emitResourceUsageRemarks(MF, CurrentProgramInfo, MFI->isModuleEntryFunction(), in runOnMachineFunction()
596 CurrentProgramInfo.NumArchVGPR, in runOnMachineFunction()
597 STM.hasMAIInsts() ? CurrentProgramInfo.NumAccVGPR : nullptr, in runOnMachineFunction()
598 CurrentProgramInfo.NumVGPR, CurrentProgramInfo.NumSGPR, in runOnMachineFunction()
599 CurrentProgramInfo.ScratchSize, getFunctionCodeSize(MF), MFI); in runOnMachineFunction()
602 " FloatMode: " + Twine(CurrentProgramInfo.FloatMode), false); in runOnMachineFunction()
604 " IeeeMode: " + Twine(CurrentProgramInfo.IEEEMode), false); in runOnMachineFunction()
606 " LDSByteSize: " + Twine(CurrentProgramInfo.LDSSize) + in runOnMachineFunction()
610 " SGPRBlocks: " + getMCExprStr(CurrentProgramInfo.SGPRBlocks), false); in runOnMachineFunction()
613 " VGPRBlocks: " + getMCExprStr(CurrentProgramInfo.VGPRBlocks), false); in runOnMachineFunction()
617 getMCExprStr(CurrentProgramInfo.NumSGPRsForWavesPerEU), in runOnMachineFunction()
621 getMCExprStr(CurrentProgramInfo.NumVGPRsForWavesPerEU), in runOnMachineFunction()
626 CurrentProgramInfo.AccumOffset, MCConstantExpr::create(1, Ctx), Ctx); in runOnMachineFunction()
634 " Occupancy: " + getMCExprStr(CurrentProgramInfo.Occupancy), false); in runOnMachineFunction()
641 getMCExprStr(CurrentProgramInfo.ScratchEnable), in runOnMachineFunction()
644 Twine(CurrentProgramInfo.UserSGPR), in runOnMachineFunction()
647 Twine(CurrentProgramInfo.TrapHandlerEnable), in runOnMachineFunction()
650 Twine(CurrentProgramInfo.TGIdXEnable), in runOnMachineFunction()
653 Twine(CurrentProgramInfo.TGIdYEnable), in runOnMachineFunction()
656 Twine(CurrentProgramInfo.TGIdZEnable), in runOnMachineFunction()
659 Twine(CurrentProgramInfo.TIdIGCompCount), in runOnMachineFunction()
664 (CurrentProgramInfo.ComputePGMRSrc3GFX90A->evaluateAsAbsolute( in runOnMachineFunction()
671 CurrentProgramInfo.ComputePGMRSrc3GFX90A, in runOnMachineFunction()
678 CurrentProgramInfo.ComputePGMRSrc3GFX90A, in runOnMachineFunction()
1115 const SIProgramInfo &CurrentProgramInfo) { in EmitProgramInfoSI() argument
1140 EmitResolvedOrExpr(CurrentProgramInfo.getComputePGMRSrc1(STM, Ctx), in EmitProgramInfoSI()
1144 EmitResolvedOrExpr(CurrentProgramInfo.getComputePGMRSrc2(Ctx), /*Size=*/4); in EmitProgramInfoSI()
1151 EmitResolvedOrExpr(SetBits(CurrentProgramInfo.ScratchBlocks, in EmitProgramInfoSI()
1155 EmitResolvedOrExpr(SetBits(CurrentProgramInfo.ScratchBlocks, in EmitProgramInfoSI()
1159 EmitResolvedOrExpr(SetBits(CurrentProgramInfo.ScratchBlocks, in EmitProgramInfoSI()
1170 SetBits(CurrentProgramInfo.VGPRBlocks, /*Mask=*/0x3F, /*Shift=*/0), in EmitProgramInfoSI()
1171 SetBits(CurrentProgramInfo.SGPRBlocks, /*Mask=*/0x0F, /*Shift=*/6), in EmitProgramInfoSI()
1179 EmitResolvedOrExpr(SetBits(CurrentProgramInfo.ScratchBlocks, in EmitProgramInfoSI()
1183 EmitResolvedOrExpr(SetBits(CurrentProgramInfo.ScratchBlocks, in EmitProgramInfoSI()
1187 EmitResolvedOrExpr(SetBits(CurrentProgramInfo.ScratchBlocks, in EmitProgramInfoSI()
1196 ? divideCeil(CurrentProgramInfo.LDSBlocks, 2) in EmitProgramInfoSI()
1197 : CurrentProgramInfo.LDSBlocks; in EmitProgramInfoSI()
1213 const SIProgramInfo &CurrentProgramInfo, in EmitPALMetadataCommon() argument
1216 MD->setHwStage(CC, ".ieee_mode", (bool)CurrentProgramInfo.IEEEMode); in EmitPALMetadataCommon()
1218 MD->setHwStage(CC, ".wgp_mode", (bool)CurrentProgramInfo.WgpMode); in EmitPALMetadataCommon()
1219 MD->setHwStage(CC, ".mem_ordered", (bool)CurrentProgramInfo.MemOrdered); in EmitPALMetadataCommon()
1223 (bool)CurrentProgramInfo.TrapHandlerEnable); in EmitPALMetadataCommon()
1224 MD->setHwStage(CC, ".excp_en", CurrentProgramInfo.EXCPEnable); in EmitPALMetadataCommon()
1228 (unsigned)(CurrentProgramInfo.LdsSize * in EmitPALMetadataCommon()
1238 const SIProgramInfo &CurrentProgramInfo) { in EmitPALMetadata() argument
1245 MD->setNumUsedVgprs(CC, CurrentProgramInfo.NumVGPRsForWavesPerEU, Ctx); in EmitPALMetadata()
1250 MD->setNumUsedAgprs(CC, CurrentProgramInfo.NumAccVGPR); in EmitPALMetadata()
1253 MD->setNumUsedSgprs(CC, CurrentProgramInfo.NumSGPRsForWavesPerEU, Ctx); in EmitPALMetadata()
1255 MD->setRsrc1(CC, CurrentProgramInfo.getPGMRSrc1(CC, STM, Ctx), Ctx); in EmitPALMetadata()
1257 MD->setRsrc2(CC, CurrentProgramInfo.getComputePGMRSrc2(Ctx), Ctx); in EmitPALMetadata()
1260 MCBinaryExpr::createGT(CurrentProgramInfo.ScratchBlocks, in EmitPALMetadata()
1266 MD->setHwStage(CC, ".debug_mode", (bool)CurrentProgramInfo.DebugMode); in EmitPALMetadata()
1268 CurrentProgramInfo.ScratchEnable); in EmitPALMetadata()
1269 EmitPALMetadataCommon(MD, CurrentProgramInfo, CC, STM); in EmitPALMetadata()
1275 AMDGPUMCExpr::createAlignTo(CurrentProgramInfo.ScratchSize, in EmitPALMetadata()
1281 ? divideCeil(CurrentProgramInfo.LDSBlocks, 2) in EmitPALMetadata()
1282 : CurrentProgramInfo.LDSBlocks; in EmitPALMetadata()
1336 CurrentProgramInfo.getPGMRSrc1(CallingConv::AMDGPU_CS, ST, Ctx), Ctx); in emitPALFunctionMetadata()
1338 CurrentProgramInfo.getComputePGMRSrc2(Ctx), Ctx); in emitPALFunctionMetadata()
1340 EmitPALMetadataCommon(MD, CurrentProgramInfo, CallingConv::AMDGPU_CS, ST); in emitPALFunctionMetadata()
1344 MD->setFunctionLdsSize(FnName, CurrentProgramInfo.LDSSize); in emitPALFunctionMetadata()
1345 MD->setFunctionNumUsedVgprs(FnName, CurrentProgramInfo.NumVGPRsForWavesPerEU); in emitPALFunctionMetadata()
1346 MD->setFunctionNumUsedSgprs(FnName, CurrentProgramInfo.NumSGPRsForWavesPerEU); in emitPALFunctionMetadata()
1364 const SIProgramInfo &CurrentProgramInfo, in getAmdKernelCode() argument
1377 CurrentProgramInfo.getComputePGMRSrc1(STM, Ctx); in getAmdKernelCode()
1379 CurrentProgramInfo.getComputePGMRSrc2(Ctx); in getAmdKernelCode()
1382 Out.is_dynamic_callstack = CurrentProgramInfo.DynamicCallStack; in getAmdKernelCode()
1418 Out.wavefront_sgpr_count = CurrentProgramInfo.NumSGPR; in getAmdKernelCode()
1419 Out.workitem_vgpr_count = CurrentProgramInfo.NumVGPR; in getAmdKernelCode()
1420 Out.workitem_private_segment_byte_size = CurrentProgramInfo.ScratchSize; in getAmdKernelCode()
1421 Out.workgroup_group_segment_byte_size = CurrentProgramInfo.LDSSize; in getAmdKernelCode()
1477 const MachineFunction &MF, const SIProgramInfo &CurrentProgramInfo, in emitResourceUsageRemarks() argument
1519 getMCExprStr(CurrentProgramInfo.NumSGPR)); in emitResourceUsageRemarks()
1521 getMCExprStr(CurrentProgramInfo.NumArchVGPR)); in emitResourceUsageRemarks()
1524 getMCExprStr(CurrentProgramInfo.NumAccVGPR)); in emitResourceUsageRemarks()
1527 getMCExprStr(CurrentProgramInfo.ScratchSize)); in emitResourceUsageRemarks()
1530 CurrentProgramInfo.DynamicCallStack->evaluateAsAbsolute(DynStack); in emitResourceUsageRemarks()
1535 getMCExprStr(CurrentProgramInfo.Occupancy)); in emitResourceUsageRemarks()
1537 CurrentProgramInfo.SGPRSpill); in emitResourceUsageRemarks()
1539 CurrentProgramInfo.VGPRSpill); in emitResourceUsageRemarks()
1542 CurrentProgramInfo.LDSSize); in emitResourceUsageRemarks()