================ @@ -199,3 +201,28 @@ const MCExpr *SIProgramInfo::getPGMRSrc2(CallingConv::ID CC, return MCConstantExpr::create(0, Ctx); } + +uint64_t SIProgramInfo::getFunctionCodeSize(const MachineFunction &MF) { + if (!CodeSizeInBytes.has_value()) { + const GCNSubtarget &STM = MF.getSubtarget<GCNSubtarget>(); + const SIInstrInfo *TII = STM.getInstrInfo(); + + uint64_t CodeSize = 0; + + for (const MachineBasicBlock &MBB : MF) { + for (const MachineInstr &MI : MBB) { + // TODO: CodeSize should account for multiple functions. + + // TODO: Should we count size of debug info? + if (MI.isDebugInstr()) ---------------- rampitec wrote:
Since this is really somewhat unrelated changes, I have split it into a separate https://github.com/llvm/llvm-project/pull/127111, which is just move of the code, and will create yet another PR to address the functional comments. https://github.com/llvm/llvm-project/pull/126981 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits