================ @@ -203,17 +218,34 @@ void StaticDataSplitter::updateStatsWithProfiles(const MachineFunction &MF) { void StaticDataSplitter::annotateStaticDataWithoutProfiles( const MachineFunction &MF) { + const MachineConstantPool *MCP = MF.getConstantPool(); for (const auto &MBB : MF) { for (const MachineInstr &I : MBB) { for (const MachineOperand &Op : I.operands()) { - if (!Op.isGlobal()) - continue; - const GlobalVariable *GV = - getLocalLinkageGlobalVariable(Op.getGlobal()); - if (!GV || GV->getName().starts_with("llvm.") || - !inStaticDataSection(GV, MF.getTarget())) + if (!Op.isGlobal() && !Op.isCPI()) continue; - SDPI->addConstantProfileCount(GV, std::nullopt); + if (Op.isGlobal()) { + const GlobalVariable *GV = + getLocalLinkageGlobalVariable(Op.getGlobal()); + if (!GV || GV->getName().starts_with("llvm.") || + !inStaticDataSection(GV, MF.getTarget())) + continue; + SDPI->addConstantProfileCount(GV, std::nullopt); + } else { + assert(Op.isCPI() && "Op must be constant pool index in this branch"); ---------------- mingmingl-llvm wrote:
Added `getConstant` helper function to share code between profile and non-profile path. https://github.com/llvm/llvm-project/pull/129781 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits