| /freebsd/contrib/llvm-project/clang/lib/InstallAPI/ |
| H A D | Visitor.cpp | 454 if (const auto *Dtor = dyn_cast<CXXDestructorDecl>(Method)) in getMangledCXXThunk() local 455 MC->mangleCXXDtorThunk(Dtor, D.getDtorType(), Thunk, ElideOverrideInfo, in getMangledCXXThunk() 471 const auto *Dtor = cast<CXXDestructorDecl>(D); in getMangledCtorDtor() local 472 GD = GlobalDecl(Dtor, CXXDtorType(Type)); in getMangledCtorDtor() 515 if (auto Dtor = dyn_cast<CXXDestructorDecl>(Method)) { in emitVTableSymbols() local 517 if (Dtor->isDefaulted()) in emitVTableSymbols() 519 AddThunk({Dtor, Dtor_Deleting}); in emitVTableSymbols() 520 AddThunk({Dtor, Dtor_Complete}); in emitVTableSymbols() 649 if (const auto *Dtor = dyn_cast<CXXDestructorDecl>(M)) { in VisitCXXRecordDecl() local 651 if (Dtor->isDefaulted()) in VisitCXXRecordDecl() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
| H A D | CGClass.cpp | 1419 const CXXDestructorDecl *Dtor) { in CanSkipVTablePointerInitialization() argument 1420 const CXXRecordDecl *ClassDecl = Dtor->getParent(); in CanSkipVTablePointerInitialization() 1429 if (!Dtor->hasTrivialBody()) in CanSkipVTablePointerInitialization() 1442 const CXXDestructorDecl *Dtor = cast<CXXDestructorDecl>(CurGD.getDecl()); in EmitDestructorBody() local 1450 if (DtorType != Dtor_Base && Dtor->getParent()->isAbstract()) { in EmitDestructorBody() 1459 Stmt *Body = Dtor->getBody(); in EmitDestructorBody() 1471 EnterDtorCleanups(Dtor, Dtor_Deleting); in EmitDestructorBody() 1473 QualType ThisTy = Dtor->getFunctionObjectParameterType(); in EmitDestructorBody() 1474 EmitCXXDestructorCall(Dtor, Dtor_Complete, /*ForVirtualBase=*/false, in EmitDestructorBody() 1504 EnterDtorCleanups(Dtor, Dtor_Complete); in EmitDestructorBody() [all …]
|
| H A D | CGExprCXX.cpp | 102 GlobalDecl Dtor, const CGCallee &Callee, llvm::Value *This, QualType ThisTy, in EmitCXXDestructorCall() argument 105 const CXXMethodDecl *DtorDecl = cast<CXXMethodDecl>(Dtor.getDecl()); in EmitCXXDestructorCall() 120 commonEmitCXXMemberOrOperatorCall(*this, Dtor, This, ImplicitParam, in EmitCXXDestructorCall() 122 return EmitCall(CGM.getTypes().arrangeCXXStructorDeclaration(Dtor), Callee, in EmitCXXDestructorCall() 335 if (const auto *Dtor = dyn_cast<CXXDestructorDecl>(CalleeDecl)) in EmitCXXMemberOrOperatorMemberCallExpr() local 337 GlobalDecl(Dtor, Dtor_Complete)); in EmitCXXMemberOrOperatorMemberCallExpr() 375 if (const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(CalleeDecl)) { in EmitCXXMemberOrOperatorMemberCallExpr() local 381 *this, Dtor, Dtor_Complete, This.getAddress(), in EmitCXXMemberOrOperatorMemberCallExpr() 384 GlobalDecl GD(Dtor, Dtor_Complete); in EmitCXXMemberOrOperatorMemberCallExpr() 386 if (getLangOpts().AppleKext && Dtor->isVirtual() && HasQualifier) in EmitCXXMemberOrOperatorMemberCallExpr() [all …]
|
| H A D | CGCXXABI.h | 256 const CXXDestructorDecl *Dtor) = 0; 369 virtual bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor, 373 const CXXDestructorDecl *Dtor, 377 getCXXDestructorLinkage(GVALinkage Linkage, const CXXDestructorDecl *Dtor, 489 EmitVirtualDestructorCall(CodeGenFunction &CGF, const CXXDestructorDecl *Dtor, 621 llvm::FunctionCallee Dtor,
|
| H A D | CGCXXABI.cpp | 313 const CXXDestructorDecl *Dtor, in setCXXDestructorDLLStorage() argument 316 CGM.setDLLImportDLLExport(GV, Dtor); in setCXXDestructorDLLStorage() 320 GVALinkage Linkage, const CXXDestructorDecl *Dtor, CXXDtorType DT) const { in getCXXDestructorLinkage() argument 322 return CGM.getLLVMLinkageForDeclarator(Dtor, Linkage); in getCXXDestructorLinkage()
|
| H A D | CGDeclCXX.cpp | 120 CXXDestructorDecl *Dtor = Record->getDestructor(); in EmitDeclDestroy() local 122 Func = CGM.getAddrAndTypeOfCXXStructor(GlobalDecl(Dtor, Dtor_Complete)); in EmitDeclDestroy() 279 const VarDecl &D, llvm::FunctionCallee Dtor, llvm::Constant *Addr, in createTLSAtExitStub() argument 312 llvm::CallInst *call = CGF.Builder.CreateCall(Dtor, Addr); in createTLSAtExitStub() 316 Dtor.getCallee()->stripPointerCastsAndAliases())) in createTLSAtExitStub() 339 llvm::FunctionCallee Dtor, in registerGlobalDtorWithLLVM() argument 343 cast<llvm::Function>(createAtExitStub(VD, Dtor, Addr)); in registerGlobalDtorWithLLVM()
|
| H A D | ItaniumCXXABI.cpp | 162 const CXXDestructorDecl *Dtor) override; 256 bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor, in useThunkForDtorVariant() argument 318 EmitVirtualDestructorCall(CodeGenFunction &CGF, const CXXDestructorDecl *Dtor, 1388 const CXXDestructorDecl *Dtor) { in emitVirtualObjectDelete() argument 1419 EmitVirtualDestructorCall(CGF, Dtor, DtorType, Ptr, DE, in emitVirtualObjectDelete() 1480 llvm::Constant *Dtor = nullptr; in emitThrow() local 1492 Dtor = CGM.getAddrOfCXXStructor(GlobalDecl(DtorD, Dtor_Complete)); in emitThrow() 1493 Dtor = CGM.getFunctionPointer(Dtor, DtorTy); in emitThrow() 1496 if (!Dtor) Dtor = llvm::Constant::getNullValue(CGM.Int8PtrTy); in emitThrow() 1498 llvm::Value *args[] = { ExceptionPtr, TypeInfo, Dtor }; in emitThrow() [all …]
|
| H A D | MicrosoftCXXABI.cpp | 124 const CXXDestructorDecl *Dtor) override; 236 bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor, in useThunkForDtorVariant() argument 242 const CXXDestructorDecl *Dtor, 246 getCXXDestructorLinkage(GVALinkage Linkage, const CXXDestructorDecl *Dtor, 339 EmitVirtualDestructorCall(CodeGenFunction &CGF, const CXXDestructorDecl *Dtor, 445 llvm::FunctionCallee Dtor, 894 const CXXDestructorDecl *Dtor) { in emitVirtualObjectDelete() argument 899 llvm::Value *MDThis = EmitVirtualDestructorCall(CGF, Dtor, DtorType, Ptr, DE, in emitVirtualObjectDelete() 1375 const CXXDestructorDecl *Dtor, in setCXXDestructorDLLStorage() argument 1382 const NamedDecl *ND = Dtor; in setCXXDestructorDLLStorage() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
| H A D | SanitizerBinaryMetadata.cpp | 228 Function *Dtor = in run() local 240 Dtor->setComdat(Mod.getOrInsertComdat(Dtor->getName())); in run() 242 Dtor->setLinkage(GlobalValue::ExternalLinkage); in run() 245 Dtor->setVisibility(GlobalValue::HiddenVisibility); in run() 247 DtorComdatKey = Dtor; in run() 250 appendToGlobalDtors(Mod, Dtor, kCtorDtorPriority, DtorComdatKey); in run()
|
| /freebsd/contrib/llvm-project/clang/lib/Interpreter/ |
| H A D | InterpreterValuePrinter.cpp | 36 if (auto Dtor = Dtors.find(CXXRD); Dtor != Dtors.end()) in CompileDtorCall() local 37 return Dtor->getSecond(); in CompileDtorCall() 248 auto *Dtor = S.LookupDestructor(RD); in ExtractValueFromExpr() local 249 Dtor->addAttr(UsedAttr::CreateImplicit(Ctx)); in ExtractValueFromExpr() 251 DeclGroupRef(Dtor)); in ExtractValueFromExpr()
|
| H A D | Value.cpp | 60 if (Dtor && IsAlive()) { in Release() 64 (*Dtor)(getPayload() + Idx * Stride); in Release() 79 : RefCnt(1), Dtor(reinterpret_cast<DtorFunc>(DtorF)), in ValueStorage() 83 DtorFunc Dtor = nullptr; member in __anon8d9d85ba0111::ValueStorage
|
| /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/WebKit/ |
| H A D | RefCntblBaseVirtualDtorChecker.cpp | 318 const auto *Dtor = C->getDestructor(); in visitCXXRecordDecl() local 319 if (!Dtor || !Dtor->isVirtual()) { in visitCXXRecordDecl()
|
| /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
| H A D | Iterator.cpp | 45 if (const auto *Dtor = dyn_cast<CXXDestructorDecl>(Method)) { in isIterator() local 46 HasDtor = !Dtor->isDeleted() && Dtor->getAccess() == AS_public; in isIterator()
|
| H A D | DynamicTypePropagation.cpp | 281 if (const CXXDestructorCall *Dtor = dyn_cast<CXXDestructorCall>(&Call)) { in checkPreCall() local 283 if (!Dtor->isBaseDestructor()) in checkPreCall() 286 const MemRegion *Target = Dtor->getCXXThisVal().getAsRegion(); in checkPreCall() 290 const Decl *D = Dtor->getDecl(); in checkPreCall()
|
| /freebsd/contrib/llvm-project/clang/lib/AST/ByteCode/ |
| H A D | Function.h | 91 Dtor, enumerator 164 bool isDestructor() const { return Kind == FunctionKind::Dtor; } in isDestructor()
|
| H A D | Function.cpp | 36 Kind = FunctionKind::Dtor; in Function()
|
| H A D | Descriptor.cpp | 511 const CXXDestructorDecl *Dtor = ElemRecord->getDestructor(); in hasTrivialDtor() local 512 return !Dtor || Dtor->isTrivial(); in hasTrivialDtor()
|
| H A D | Compiler.cpp | 5992 bool Compiler<Emitter>::compileDestructor(const CXXDestructorDecl *Dtor) { in compileDestructor() argument 5993 const RecordDecl *RD = Dtor->getParent(); in compileDestructor() 5998 if (!Dtor->isTrivial() && Dtor->getBody()) { in compileDestructor() 5999 if (!this->visitStmt(Dtor->getBody())) in compileDestructor() 6003 if (!this->emitThis(Dtor)) in compileDestructor() 6006 if (!this->emitCheckDestruction(Dtor)) in compileDestructor() 6038 return this->emitPopPtr(Dtor) && this->emitRetVoid(Dtor); in compileDestructor() 6065 if (const auto *Dtor = dyn_cast<CXXDestructorDecl>(F)) in visitFunc() local 6066 return this->compileDestructor(Dtor); in visitFunc() 6923 const CXXDestructorDecl *Dtor = R->getDestructor(); in emitRecordDestruction() local [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/Sema/ |
| H A D | SemaFunctionEffects.cpp | 989 if (auto *Dtor = dyn_cast<CXXDestructorDecl>(CurrentCaller.CDecl)) in run() local 990 followDestructor(dyn_cast<CXXRecordDecl>(Dtor->getParent()), Dtor); in run() 1093 const CXXDestructorDecl *Dtor) { in followDestructor() 1094 SourceLocation DtorLoc = Dtor->getLocation(); in followDestructor() 1113 if (CXXDestructorDecl *Dtor = Class->getDestructor(); in followTypeDtor() local 1114 Dtor && !Dtor->isDeleted()) { in followTypeDtor() 1115 CallableInfo CI(*Dtor); in followTypeDtor()
|
| H A D | SemaAccess.cpp | 1631 CXXDestructorDecl *Dtor, in CheckDestructorAccess() argument 1638 AccessSpecifier Access = Dtor->getAccess(); in CheckDestructorAccess() 1642 CXXRecordDecl *NamingClass = Dtor->getParent(); in CheckDestructorAccess() 1646 DeclAccessPair::make(Dtor, Access), in CheckDestructorAccess()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LowerGlobalDtors.cpp | 190 for (auto *Dtor : reverse(AssociatedAndMore.second)) in runImpl() local 191 CallInst::Create(VoidVoid, Dtor, "", BB); in runImpl()
|
| /freebsd/contrib/llvm-project/clang/lib/Index/ |
| H A D | IndexDecl.cpp | 277 } else if (const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(D)) { in VisitFunctionDecl() local 278 if (auto TypeNameInfo = Dtor->getNameInfo().getNamedTypeInfo()) { in VisitFunctionDecl() 279 IndexCtx.handleReference(Dtor->getParent(), in VisitFunctionDecl() 281 Dtor->getParent(), Dtor->getDeclContext(), in VisitFunctionDecl()
|
| /freebsd/contrib/llvm-project/clang/lib/Analysis/ |
| H A D | PathDiagnostic.cpp | 534 const CFGAutomaticObjDtor &Dtor = Source.castAs<CFGAutomaticObjDtor>(); in getLocationForCaller() local 535 return PathDiagnosticLocation::createEnd(Dtor.getTriggerStmt(), in getLocationForCaller() 539 const CFGDeleteDtor &Dtor = Source.castAs<CFGDeleteDtor>(); in getLocationForCaller() local 540 return PathDiagnosticLocation(Dtor.getDeleteExpr(), SM, CallerCtx); in getLocationForCaller() 557 const auto &Dtor = Source.castAs<CFGTemporaryDtor>(); in getLocationForCaller() local 558 return PathDiagnosticLocation::createEnd(Dtor.getBindTemporaryExpr(), SM, in getLocationForCaller()
|
| /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ |
| H A D | CallEvent.cpp | 1487 const auto *Dtor = cast<CXXDestructorDecl>(CalleeCtx->getDecl()); in getCaller() local 1488 Loc ThisPtr = SVB.getCXXThis(Dtor, CalleeCtx); in getCaller() 1498 Trigger = Dtor->getBody(); in getCaller() 1500 return getCXXDestructorCall(Dtor, Trigger, ThisVal.getAsRegion(), in getCaller()
|
| H A D | ExprEngineCallAndReturn.cpp | 998 const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(FD); in isCXXSharedPtrDtor() local 999 if (!Dtor) in isCXXSharedPtrDtor() 1002 const CXXRecordDecl *RD = Dtor->getParent(); in isCXXSharedPtrDtor()
|