Home
last modified time | relevance | path

Searched refs:Dtor (Results 1 – 25 of 53) sorted by relevance

123

/freebsd/contrib/llvm-project/clang/lib/InstallAPI/
H A DVisitor.cpp454 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 DCGClass.cpp1419 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 DCGExprCXX.cpp102 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 DCGCXXABI.h256 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 DCGCXXABI.cpp313 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 DCGDeclCXX.cpp120 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 DItaniumCXXABI.cpp162 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 DMicrosoftCXXABI.cpp124 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 DSanitizerBinaryMetadata.cpp228 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 DInterpreterValuePrinter.cpp36 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 DValue.cpp60 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 DRefCntblBaseVirtualDtorChecker.cpp318 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 DIterator.cpp45 if (const auto *Dtor = dyn_cast<CXXDestructorDecl>(Method)) { in isIterator() local
46 HasDtor = !Dtor->isDeleted() && Dtor->getAccess() == AS_public; in isIterator()
H A DDynamicTypePropagation.cpp281 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 DFunction.h91 Dtor, enumerator
164 bool isDestructor() const { return Kind == FunctionKind::Dtor; } in isDestructor()
H A DFunction.cpp36 Kind = FunctionKind::Dtor; in Function()
H A DDescriptor.cpp511 const CXXDestructorDecl *Dtor = ElemRecord->getDestructor(); in hasTrivialDtor() local
512 return !Dtor || Dtor->isTrivial(); in hasTrivialDtor()
H A DCompiler.cpp5992 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 DSemaFunctionEffects.cpp989 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 DSemaAccess.cpp1631 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 DLowerGlobalDtors.cpp190 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 DIndexDecl.cpp277 } 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 DPathDiagnostic.cpp534 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 DCallEvent.cpp1487 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 DExprEngineCallAndReturn.cpp998 const CXXDestructorDecl *Dtor = dyn_cast<CXXDestructorDecl>(FD); in isCXXSharedPtrDtor() local
999 if (!Dtor) in isCXXSharedPtrDtor()
1002 const CXXRecordDecl *RD = Dtor->getParent(); in isCXXSharedPtrDtor()

123