/freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | CGClass.cpp | 1417 if (!Dtor->hasTrivialBody()) in CanSkipVTablePointerInitialization() 1447 Stmt *Body = Dtor->getBody(); in EmitDestructorBody() 1508 EnterDtorCleanups(Dtor, Dtor_Base); in EmitDestructorBody() 1731 const CXXDestructorDecl *Dtor; member in __anonbdf213460411::SanitizeDtorFieldRange 1738 : Dtor(Dtor), StartIndex(StartIndex), EndIndex(EndIndex) {} in SanitizeDtorFieldRange() 1780 const CXXDestructorDecl *Dtor; member in __anonbdf213460411::SanitizeDtorVTable 1783 SanitizeDtorVTable(const CXXDestructorDecl *Dtor) : Dtor(Dtor) {} in SanitizeDtorVTable() argument 1788 (void)Dtor; in Emit() 2448 const CXXDestructorDecl *Dtor; member 2507 const CXXDestructorDecl *Dtor; member [all …]
|
H A D | CGExprCXX.cpp | 333 GlobalDecl(Dtor, Dtor_Complete)); in EmitCXXMemberOrOperatorMemberCallExpr() 378 GlobalDecl GD(Dtor, Dtor_Complete); in EmitCXXMemberOrOperatorMemberCallExpr() 1909 if (Dtor && Dtor->isVirtual()) in EmitDestroyingObjectDelete() 1911 Dtor); in EmitDestroyingObjectDelete() 1938 const CXXDestructorDecl *Dtor = nullptr; in EmitObjectDelete() local 1942 Dtor = RD->getDestructor(); in EmitObjectDelete() 1944 if (Dtor->isVirtual()) { in EmitObjectDelete() 1949 Dtor->getDevirtualizedMethod( in EmitObjectDelete() 1957 Dtor = DevirtualizedDtor; in EmitObjectDelete() 1983 if (Dtor) in EmitObjectDelete() [all …]
|
H A D | CGCXXABI.h | 260 const CXXDestructorDecl *Dtor) = 0; 374 virtual bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor, 378 const CXXDestructorDecl *Dtor, 382 getCXXDestructorLinkage(GVALinkage Linkage, const CXXDestructorDecl *Dtor, 500 const CXXDestructorDecl *Dtor, 630 llvm::FunctionCallee Dtor,
|
H A D | CGCXXABI.cpp | 306 const CXXDestructorDecl *Dtor, in setCXXDestructorDLLStorage() argument 309 CGM.setDLLImportDLLExport(GV, Dtor); in setCXXDestructorDLLStorage() 313 GVALinkage Linkage, const CXXDestructorDecl *Dtor, CXXDtorType DT) const { in getCXXDestructorLinkage() argument 315 return CGM.getLLVMLinkageForDeclarator(Dtor, Linkage); in getCXXDestructorLinkage()
|
H A D | CGDeclCXX.cpp | 119 CXXDestructorDecl *Dtor = Record->getDestructor(); in EmitDeclDestroy() local 121 Func = CGM.getAddrAndTypeOfCXXStructor(GlobalDecl(Dtor, Dtor_Complete)); in EmitDeclDestroy() 272 const VarDecl &D, llvm::FunctionCallee Dtor, llvm::Constant *Addr, in createTLSAtExitStub() argument 305 llvm::CallInst *call = CGF.Builder.CreateCall(Dtor, Addr); in createTLSAtExitStub() 309 Dtor.getCallee()->stripPointerCastsAndAliases())) in createTLSAtExitStub() 332 llvm::FunctionCallee Dtor, in registerGlobalDtorWithLLVM() argument 335 llvm::Function *dtorStub = createAtExitStub(VD, Dtor, Addr); in registerGlobalDtorWithLLVM()
|
H A D | ItaniumCXXABI.cpp | 256 bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor, in useThunkForDtorVariant() argument 1261 EmitVirtualDestructorCall(CGF, Dtor, DtorType, Ptr, DE); in emitVirtualObjectDelete() 1321 llvm::Constant *Dtor = nullptr; in emitThrow() local 1329 if (!Dtor) Dtor = llvm::Constant::getNullValue(CGM.Int8PtrTy); in emitThrow() 1331 llvm::Value *args[] = { ExceptionPtr, TypeInfo, Dtor }; in emitThrow() 2069 GlobalDecl GD(Dtor, DtorType); in EmitVirtualDestructorCall() 2717 llvm::Function *Dtor = *itv; in unregisterGlobalDtorsWithUnAtExit() local 2738 CI->setCallingConv(Dtor->getCallingConv()); in unregisterGlobalDtorsWithUnAtExit() 2770 for (auto *Dtor : Dtors) { in registerGlobalDtorsWithAtExit() local 2778 CGF.registerGlobalDtorWithAtExit(Dtor); in registerGlobalDtorsWithAtExit() [all …]
|
H A D | MicrosoftCXXABI.cpp | 235 bool useThunkForDtorVariant(const CXXDestructorDecl *Dtor, in useThunkForDtorVariant() argument 241 const CXXDestructorDecl *Dtor, 444 llvm::FunctionCallee Dtor, 1369 const NamedDecl *ND = Dtor; in setCXXDestructorDLLStorage() 1385 return CGM.getLLVMLinkageForDeclarator(Dtor, Linkage); in getCXXDestructorLinkage() 1390 if (Dtor->hasAttr<DLLExportAttr>()) in getCXXDestructorLinkage() 1392 if (Dtor->hasAttr<DLLImportAttr>()) in getCXXDestructorLinkage() 2003 GlobalDecl GD(Dtor, Dtor_Deleting); in EmitVirtualDestructorCall() 2370 return emitGlobalDtorWithTLRegDtor(CGF, D, Dtor, Addr); in registerGlobalDtor() 2374 return CGM.AddCXXDtorEntry(Dtor, Addr); in registerGlobalDtor() [all …]
|
H A D | CGCoroutine.cpp | 162 const auto *Dtor = TE->getTemporary()->getDestructor(); in ResumeStmtCanThrow() local 163 if (FunctionCanThrow(Dtor)) in ResumeStmtCanThrow()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | SanitizerBinaryMetadata.cpp | 222 Function *Dtor = in run() local 234 Dtor->setComdat(Mod.getOrInsertComdat(Dtor->getName())); in run() 236 Dtor->setLinkage(GlobalValue::ExternalLinkage); in run() 239 Dtor->setVisibility(GlobalValue::HiddenVisibility); in run() 241 DtorComdatKey = Dtor; in run() 244 appendToGlobalDtors(Mod, Dtor, kCtorDtorPriority, DtorComdatKey); in run()
|
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/WebKit/ |
H A D | RefCntblBaseVirtualDtorChecker.cpp | 123 const auto *Dtor = C->getDestructor(); in visitCXXRecordDecl() local 124 if (!Dtor || !Dtor->isVirtual()) { in visitCXXRecordDecl()
|
/freebsd/contrib/llvm-project/clang/lib/Interpreter/ |
H A D | Value.cpp | 65 if (Dtor && IsAlive()) { in Release() 69 (*Dtor)(getPayload() + Idx * Stride); in Release() 84 : RefCnt(1), Dtor(reinterpret_cast<DtorFunc>(DtorF)), in ValueStorage() 88 DtorFunc Dtor = nullptr; member in __anonc81f9c820111::ValueStorage
|
H A D | Interpreter.cpp | 484 if (auto Dtor = Dtors.find(CXXRD); Dtor != Dtors.end()) in CompileDtorCall() local 485 return Dtor->getSecond(); in CompileDtorCall() 597 auto *Dtor = S.LookupDestructor(RD); in getCall() local 598 Dtor->addAttr(UsedAttr::CreateImplicit(Ctx)); in getCall() 600 DeclGroupRef(Dtor)); in getCall()
|
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
H A D | BlockInCriticalSectionChecker.cpp | 104 if (const auto *Dtor = dyn_cast<CXXDestructorCall>(&Call)) { in isUnlockFunction() local 105 const auto *DRecordDecl = cast<CXXRecordDecl>(Dtor->getDecl()->getParent()); in isUnlockFunction()
|
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 | 285 if (const CXXDestructorCall *Dtor = dyn_cast<CXXDestructorCall>(&Call)) { in checkPreCall() local 287 if (!Dtor->isBaseDestructor()) in checkPreCall() 290 const MemRegion *Target = Dtor->getCXXThisVal().getAsRegion(); in checkPreCall() 294 const Decl *D = Dtor->getDecl(); in checkPreCall()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | LowerGlobalDtors.cpp | 189 for (auto *Dtor : reverse(AssociatedAndMore.second)) in runImpl() local 190 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 | 536 const CFGAutomaticObjDtor &Dtor = Source.castAs<CFGAutomaticObjDtor>(); in getLocationForCaller() local 537 return PathDiagnosticLocation::createEnd(Dtor.getTriggerStmt(), in getLocationForCaller() 541 const CFGDeleteDtor &Dtor = Source.castAs<CFGDeleteDtor>(); in getLocationForCaller() local 542 return PathDiagnosticLocation(Dtor.getDeleteExpr(), SM, CallerCtx); in getLocationForCaller() 559 const auto &Dtor = Source.castAs<CFGTemporaryDtor>(); in getLocationForCaller() local 560 return PathDiagnosticLocation::createEnd(Dtor.getBindTemporaryExpr(), SM, in getLocationForCaller()
|
H A D | LiveVariables.cpp | 494 if (std::optional<CFGAutomaticObjDtor> Dtor = in runOnBlock() local 496 val.liveDecls = DSetFact.add(val.liveDecls, Dtor->getVarDecl()); in runOnBlock()
|
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ |
H A D | CallEvent.cpp | 1464 const auto *Dtor = cast<CXXDestructorDecl>(CalleeCtx->getDecl()); in getCaller() local 1465 Loc ThisPtr = SVB.getCXXThis(Dtor, CalleeCtx); in getCaller() 1475 Trigger = Dtor->getBody(); in getCaller() 1477 return getCXXDestructorCall(Dtor, Trigger, ThisVal.getAsRegion(), in getCaller()
|
H A D | ExprEngineCallAndReturn.cpp | 997 const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(FD); in isCXXSharedPtrDtor() local 998 if (!Dtor) in isCXXSharedPtrDtor() 1001 const CXXRecordDecl *RD = Dtor->getParent(); in isCXXSharedPtrDtor()
|
H A D | ExprEngine.cpp | 1337 void ExprEngine::ProcessAutomaticObjDtor(const CFGAutomaticObjDtor Dtor, in ProcessAutomaticObjDtor() argument 1340 const auto *DtorDecl = Dtor.getDestructorDecl(getContext()); in ProcessAutomaticObjDtor() 1341 const VarDecl *varDecl = Dtor.getVarDecl(); in ProcessAutomaticObjDtor() 1405 VisitCXXDestructor(varType, Region, Dtor.getTriggerStmt(), in ProcessAutomaticObjDtor() 1409 void ExprEngine::ProcessDeleteDtor(const CFGDeleteDtor Dtor, in ProcessDeleteDtor() argument 1414 const CXXDeleteExpr *DE = Dtor.getDeleteExpr(); in ProcessDeleteDtor() 1424 const CXXDestructorDecl *Dtor = RD->getDestructor(); in ProcessDeleteDtor() local 1426 PostImplicitCall PP(Dtor, DE->getBeginLoc(), LCtx, getCFGElementRef()); in ProcessDeleteDtor()
|
/freebsd/contrib/llvm-project/clang/lib/AST/Interp/ |
H A D | ByteCodeExprGen.cpp | 3022 if (const CXXDestructorDecl *Dtor = ElemRecord->getDestructor(); in emitRecordDestruction() local 3023 !Dtor || Dtor->isTrivial()) in emitRecordDestruction() 3057 if (const CXXDestructorDecl *Dtor = R->getDestructor(); in emitRecordDestruction() local 3058 Dtor && !Dtor->isTrivial()) { in emitRecordDestruction() 3059 if (const Function *DtorFunc = getFunction(Dtor)) { in emitRecordDestruction()
|
/freebsd/contrib/llvm-project/clang/lib/Sema/ |
H A D | SemaAccess.cpp | 1618 CXXDestructorDecl *Dtor, in CheckDestructorAccess() argument 1625 AccessSpecifier Access = Dtor->getAccess(); in CheckDestructorAccess() 1629 CXXRecordDecl *NamingClass = Dtor->getParent(); in CheckDestructorAccess() 1633 DeclAccessPair::make(Dtor, Access), in CheckDestructorAccess()
|
/freebsd/contrib/llvm-project/clang/lib/AST/ |
H A D | DeclCXX.cpp | 562 auto *Dtor = getDestructor(); in hasConstexprDestructor() local 563 return Dtor ? Dtor->isConstexpr() : defaultedDestructorIsConstexpr(); in hasConstexprDestructor() 2118 if (const auto *Dtor = Def->getDestructor()) in isEffectivelyFinal() local 2119 if (Dtor->hasAttr<FinalAttr>()) in isEffectivelyFinal()
|