================ @@ -172,6 +172,30 @@ bool PPCSubtarget::enableSubRegLiveness() const { return UseSubRegLiveness; } +void PPCSubtarget::tocDataChecks(unsigned PointerSize, + const GlobalVariable *GV) const { + // TODO: These asserts should be updated as more support for the toc data + // transformation is added (struct support, etc.). + assert( + PointerSize >= GV->getAlign().valueOrOne().value() && + "GlobalVariables with an alignment requirement stricter than TOC entry " + "size not supported by the toc data transformation."); + + Type *GVType = GV->getValueType(); + assert(GVType->isSized() && "A GlobalVariable's size must be known to be " + "supported by the toc data transformation."); + if (GV->getParent()->getDataLayout().getTypeSizeInBits(GVType) > + PointerSize * 8) + report_fatal_error( + "A GlobalVariable with size larger than a TOC entry is not currently " + "supported by the toc data transformation."); + if (GV->hasLocalLinkage() || GV->hasPrivateLinkage()) + report_fatal_error("A GlobalVariable with private or local linkage is not " + "currently supported by the toc data transformation."); + assert(!GV->hasCommonLinkage() && + "Tentative definitions cannot have the mapping class XMC_TD."); +} ---------------- diggerlin wrote:
since the https://github.com/llvm/llvm-project/pull/79530/files merge , please remember to remove assert(!GV->hasCommonLinkage() && "Tentative definitions cannot have the mapping class XMC_TD."); https://github.com/llvm/llvm-project/pull/67999 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits