Home
last modified time | relevance | path

Searched refs:VTable (Results 1 – 24 of 24) sorted by relevance

/openbsd-src/gnu/llvm/clang/lib/CodeGen/
H A DCGVTT.cpp23 const VTTVTable &VTable, in GetAddrOfVTTVTable() argument
26 if (VTable.getBase() == MostDerivedClass) { in GetAddrOfVTTVTable()
27 assert(VTable.getBaseOffset().isZero() && in GetAddrOfVTTVTable()
34 VTable.getBaseSubobject(), in GetAddrOfVTTVTable()
35 VTable.isVirtual(), in GetAddrOfVTTVTable()
61 llvm::GlobalVariable *VTable = VTables[i->VTableIndex]; in EmitVTTDefinition() local
81 VTable->getValueType(), VTable, Idxs, /*InBounds=*/true, in EmitVTTDefinition()
H A DCGVTables.cpp915 llvm::GlobalVariable *VTable = in GenerateConstructionVTable() local
919 VTable->setUnnamedAddr(llvm::GlobalValue::UnnamedAddr::Global); in GenerateConstructionVTable()
928 VTable->hasLocalLinkage()); in GenerateConstructionVTable()
929 components.finishAndSetAsInitializer(VTable); in GenerateConstructionVTable()
933 assert(!VTable->isDeclaration() && "Shouldn't set properties on declaration"); in GenerateConstructionVTable()
934 CGM.setGVProperties(VTable, RD); in GenerateConstructionVTable()
936 CGM.EmitVTableTypeMetadata(RD, VTable, *VTLayout.get()); in GenerateConstructionVTable()
939 RemoveHwasanMetadata(VTable); in GenerateConstructionVTable()
940 if (!VTable->isDSOLocal()) in GenerateConstructionVTable()
941 GenerateRelativeVTableAlias(VTable, OutName); in GenerateConstructionVTable()
[all …]
H A DCGCXX.cpp254 llvm::Value *VTable = CGM.getCXXABI().getAddrOfVTable(RD, CharUnits()); in BuildAppleKextVirtualCall() local
256 VTable = CGF.Builder.CreateBitCast(VTable, Ty->getPointerTo()); in BuildAppleKextVirtualCall()
257 assert(VTable && "BuildVirtualCall = kext vtbl pointer is null"); in BuildAppleKextVirtualCall()
265 CGF.Builder.CreateConstInBoundsGEP1_64(Ty, VTable, VTableIndex, "vfnkxt"); in BuildAppleKextVirtualCall()
H A DItaniumCXXABI.cpp635 llvm::Value *VTable = CGF.GetVTablePtr( in EmitLoadOfMemberFunctionPointer() local
678 Builder.CreateGEP(CGF.Int8Ty, VTable, VTableOffset); in EmitLoadOfMemberFunctionPointer()
697 Builder.CreateGEP(CGF.Int8Ty, VTable, VTableOffset); in EmitLoadOfMemberFunctionPointer()
711 {VTable, VTableOffset}); in EmitLoadOfMemberFunctionPointer()
715 CGF.Builder.CreateGEP(CGF.Int8Ty, VTable, VTableOffset); in EmitLoadOfMemberFunctionPointer()
745 CGM.getIntrinsic(llvm::Intrinsic::type_test), {VTable, AllVtables}); in EmitLoadOfMemberFunctionPointer()
748 {VTable, ValidVtable}); in EmitLoadOfMemberFunctionPointer()
1215 llvm::Value *VTable = in emitVirtualObjectDelete() local
1220 CGF.IntPtrTy, VTable, -2, "complete-offset.ptr"); in emitVirtualObjectDelete()
1499 llvm::Value *VTable = in EmitDynamicCastToVoid() local
[all …]
H A DMicrosoftCXXABI.cpp296 llvm::GlobalVariable *VTable);
1667 llvm::GlobalVariable *VTable) { in emitVTableTypeMetadata() argument
1678 VTable->setVCallVisibilityMetadata(TypeVis); in emitVTableTypeMetadata()
1691 CGM.AddVTableTypeMetadata(VTable, AddressPoint, RD); in emitVTableTypeMetadata()
1696 CGM.AddVTableTypeMetadata(VTable, AddressPoint, in emitVTableTypeMetadata()
1715 CGM.AddVTableTypeMetadata(VTable, AddressPoint, DerivedRD); in emitVTableTypeMetadata()
1720 CGM.AddVTableTypeMetadata(VTable, AddressPoint, RD); in emitVTableTypeMetadata()
1729 llvm::GlobalVariable *VTable = getAddrOfVTable(RD, Info->FullOffsetInMDC); in emitVTableDefinitions() local
1730 if (VTable->hasInitializer()) in emitVTableDefinitions()
1744 VTable->hasLocalLinkage()); in emitVTableDefinitions()
[all …]
H A DCGClass.cpp2687 llvm::Instruction *VTable = Builder.CreateLoad(VTablePtrSrc, "vtable"); in GetVTablePtr() local
2689 CGM.DecorateInstructionWithTBAA(VTable, TBAAInfo); in GetVTablePtr()
2693 CGM.DecorateInstructionWithInvariantGroup(VTable, RD); in GetVTablePtr()
2695 return VTable; in GetVTablePtr()
2734 llvm::Value *VTable, in EmitTypeMetadataCodeForVCall() argument
2737 EmitVTablePtrCheckForCall(RD, VTable, CodeGenFunction::CFITCK_VCall, Loc); in EmitTypeMetadataCodeForVCall()
2747 llvm::Value *CastedVTable = Builder.CreateBitCast(VTable, Int8PtrTy); in EmitTypeMetadataCodeForVCall()
2762 llvm::Value *VTable, in EmitVTablePtrCheckForCall() argument
2768 EmitVTablePtrCheck(RD, VTable, TCK, Loc); in EmitVTablePtrCheckForCall()
2804 llvm::Value *VTable; in EmitVTablePtrCheckForCast() local
[all …]
H A DCGVTables.h159 void GenerateRelativeVTableAlias(llvm::GlobalVariable *VTable,
H A DCodeGenModule.h1449 llvm::GlobalVariable *VTable,
1493 void AddVTableTypeMetadata(llvm::GlobalVariable *VTable, CharUnits Offset,
H A DCGExprCXX.cpp402 llvm::Value *VTable; in EmitCXXMemberOrOperatorMemberCallExpr() local
404 std::tie(VTable, RD) = CGM.getCXXABI().LoadVTablePtr( in EmitCXXMemberOrOperatorMemberCallExpr()
406 EmitVTablePtrCheckForCall(RD, VTable, CFITCK_NVCall, CE->getBeginLoc()); in EmitCXXMemberOrOperatorMemberCallExpr()
H A DCodeGenFunction.h2315 void EmitVTablePtrCheckForCall(const CXXRecordDecl *RD, llvm::Value *VTable,
2320 void EmitVTablePtrCheck(const CXXRecordDecl *RD, llvm::Value *VTable,
2327 llvm::Value *VTable, SourceLocation Loc);
2336 llvm::Value *VTable,
H A DCodeGenModule.cpp7017 void CodeGenModule::AddVTableTypeMetadata(llvm::GlobalVariable *VTable, in AddVTableTypeMetadata() argument
7022 VTable->addTypeMetadata(Offset.getQuantity(), MD); in AddVTableTypeMetadata()
7026 VTable->addTypeMetadata(Offset.getQuantity(), in AddVTableTypeMetadata()
7031 VTable->addTypeMetadata(Offset.getQuantity(), MD); in AddVTableTypeMetadata()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/IPO/
H A DGlobalDCE.cpp210 GlobalVariable *VTable = VTableInfo.first; in ScanVTableLoad() local
214 getPointerAtOffset(VTable->getInitializer(), VTableOffset + CallOffset, in ScanVTableLoad()
215 *Caller->getParent(), VTable); in ScanVTableLoad()
218 VFESafeVTables.erase(VTable); in ScanVTableLoad()
225 VFESafeVTables.erase(VTable); in ScanVTableLoad()
286 for (auto *VTable : VFESafeVTables) in AddVirtualFunctionDependencies()
287 dbgs() << " " << VTable->getName() << "\n"; in AddVirtualFunctionDependencies()
H A DWholeProgramDevirt.cpp409 Value *VTable = nullptr; member
515 void addCallSite(Value *VTable, CallBase &CB, unsigned *NumUnsafeUses);
535 void VTableSlotInfo::addCallSite(Value *VTable, CallBase &CB, in addCallSite() argument
539 CSI.CallSites.push_back({VTable, CB, NumUnsafeUses}); in addCallSite()
1408 Args.push_back(IRB.CreateBitCast(VCallSite.VTable, Int8PtrTy)); in applyICallBranchFunnel()
1597 B.CreateICmp(IsOne ? ICmpInst::ICMP_EQ : ICmpInst::ICMP_NE, Call.VTable, in applyUniqueRetValOpt()
1598 B.CreateBitCast(UniqueMemberAddr, Call.VTable->getType())); in applyUniqueRetValOpt()
1669 B.CreateGEP(Int8Ty, B.CreateBitCast(Call.VTable, Int8PtrTy), Byte); in applyVirtualConstProp()
/openbsd-src/gnu/llvm/llvm/include/llvm/DebugInfo/PDB/
H A DUDTLayout.h100 std::unique_ptr<PDBSymbolTypeVTable> VTable);
106 std::unique_ptr<PDBSymbolTypeVTable> VTable; variable
143 VTableLayoutItem *VTable = nullptr; variable
H A DPDBSymbolTypeVTable.h20 DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::VTable)
H A DPDBTypes.h269 VTable, enumerator
/openbsd-src/gnu/llvm/llvm/lib/DebugInfo/PDB/
H A DUDTLayout.cpp102 VTable(std::move(VT)) { in VTableLayoutItem()
103 auto VTableType = cast<PDBSymbolTypePointer>(VTable->getType()); in VTableLayoutItem()
224 VTable = VTLayout.get(); in initializeChildren()
H A DPDBSymbol.cpp90 FACTORY_SYMTAG_CASE(VTable, PDBSymbolTypeVTable) in createSymbol()
H A DPDBExtras.cpp265 CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, VTable, OS) in operator <<()
/openbsd-src/gnu/llvm/llvm/docs/
H A DTypeMetadata.rst91 :header: VTable for, Offset, Compatible Class
H A DLangRef.rst4406 static relocations for offsets between the VTable and virtual functions which
/openbsd-src/gnu/llvm/lldb/source/Plugins/SymbolFile/PDB/
H A DPDBASTParser.cpp296 case PDB_SymType::VTable: { in GetClassOrFunctionParent()
/openbsd-src/gnu/llvm/clang/docs/
H A DControlFlowIntegrityDesign.rst293 .. [1] `Protecting C++ Dynamic Dispatch Through VTable Interleaving <https://cseweb.ucsd.edu/~lerne…
/openbsd-src/gnu/llvm/clang/include/clang/Basic/
H A DDiagnosticASTKinds.td425 let CategoryName = "VTable ABI Issue" in {