Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:ClassDecl

174 CodeGenModule::GetNonVirtualBaseClassOffset(const CXXRecordDecl *ClassDecl,
180 computeNonVirtualBaseClassOffset(ClassDecl, PathBegin, PathEnd);
520 const CXXRecordDecl *ClassDecl,
542 CGF.InitializeVTablePointers(ClassDecl);
547 CGF.GetAddressOfDirectBaseInCompleteClass(ThisPtr, ClassDecl,
695 const CXXRecordDecl *ClassDecl,
709 QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
855 const CXXRecordDecl *ClassDecl =
858 if (!ClassDecl->mayInsertExtraPadding()) return;
866 const ASTRecordLayout &Info = Context.getASTRecordLayout(ClassDecl);
875 for (const auto *Field : ClassDecl->fields()) {
994 FieldMemcpyizer(CodeGenFunction &CGF, const CXXRecordDecl *ClassDecl,
996 : CGF(CGF), ClassDecl(ClassDecl), SrcRec(SrcRec),
997 RecLayout(CGF.getContext().getASTRecordLayout(ClassDecl)),
1051 QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
1071 const CXXRecordDecl *ClassDecl;
1207 QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
1362 const CXXRecordDecl *ClassDecl = CD->getParent();
1368 if (ClassDecl->getNumVBases() &&
1373 CGM.getCXXABI().EmitCtorCompleteObjectHandler(*this, ClassDecl);
1384 EmitBaseInitializer(*this, ClassDecl, *B, CtorType);
1401 EmitBaseInitializer(*this, ClassDecl, *B, CtorType);
1406 InitializeVTablePointers(ClassDecl);
1490 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1491 if (!ClassDecl->isDynamicClass())
1498 for (const auto *Field : ClassDecl->fields())
1623 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1625 CGF.getContext().getTagDeclType(ClassDecl));
1646 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1648 CGF.getContext().getTagDeclType(ClassDecl));
1830 const CXXRecordDecl *ClassDecl = DD->getParent();
1833 if (ClassDecl->isUnion())
1841 SanOpts.has(SanitizerKind::Memory) && ClassDecl->getNumVBases() &&
1842 ClassDecl->isPolymorphic())
1847 for (const auto &Base : ClassDecl->vbases()) {
1867 SanOpts.has(SanitizerKind::Memory) && !ClassDecl->getNumVBases() &&
1868 ClassDecl->isPolymorphic())
1872 for (const auto &Base : ClassDecl->bases()) {
1895 for (const auto *Field : ClassDecl->fields()) {
2053 const CXXRecordDecl *ClassDecl = D->getParent();
2060 This.getPointer(), getContext().getRecordType(ClassDecl));
2076 QualType DestTy = getContext().getTypeDeclType(ClassDecl);
2112 ClassDecl->isDynamicClass() && Type != Ctor_Base &&
2113 CGM.getCXXABI().canSpeculativelyEmitVTable(ClassDecl) &&
2115 EmitVTableAssumptionLoads(ClassDecl, This);
2139 void CodeGenFunction::EmitVTableAssumptionLoads(const CXXRecordDecl *ClassDecl,
2141 if (CGM.getCXXABI().doStructorsInitializeVPtrs(ClassDecl))
2142 for (const VPtr &Vptr : getVTablePointers(ClassDecl))
2258 const CXXRecordDecl *ClassDecl = Ctor->getParent();
2259 if (CGM.getLangOpts().Exceptions && !ClassDecl->hasTrivialDestructor()) {
2264 ClassDecl->getDestructor(),
2300 CXXRecordDecl *ClassDecl = T->getAsCXXRecordDecl();
2301 if (!ClassDecl) return;
2302 if (ClassDecl->hasTrivialDestructor()) return;
2304 const CXXDestructorDecl *D = ClassDecl->getDestructor();
2494 const CXXRecordDecl *ClassDecl = MD->getParent();
2496 ClassDecl = LeastDerivedClassWithSameLayout(ClassDecl);
2498 EmitVTablePtrCheck(ClassDecl, VTable, TCK, Loc);
2513 const CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(ClassTy->getDecl());
2515 if (!ClassDecl->isCompleteDefinition() || !ClassDecl->isDynamicClass())
2519 ClassDecl = LeastDerivedClassWithSameLayout(ClassDecl);
2536 GetVTablePtr(Address(Derived, getPointerAlign()), Int8PtrTy, ClassDecl);
2538 EmitVTablePtrCheck(ClassDecl, VTable, TCK, Loc);