static unsigned GetConstantPoolSizeInBytes(MachineConstantPool *MCP, const DataLayout *TD) { const std::vector<MachineConstantPoolEntry> &Constants = MCP->getConstants(); if (Constants.empty()) return 0; unsigned Size = 0; for (unsigned i = 0, e = Constants.size(); i != e; ++i) { MachineConstantPoolEntry CPE = Constants[i]; unsigned AlignMask = CPE.getAlignment() - 1; Size = (Size + AlignMask) & ~AlignMask; Type *Ty = CPE.getType(); Size += TD->getTypeAllocSize(Ty); } return Size; }
void SVMBlockSizeAccumulator::AddConstant(const TargetData &TD, const MachineConstantPoolEntry &CPE) { AddConstant(TD.getTypeAllocSize(CPE.getType()), CPE.getAlignment()); }