Home
last modified time | relevance | path

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

12

/llvm-project-15.0.7/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.cpp901 llvm::GlobalVariable *VTable = in GenerateConstructionVTable() local
915 components.finishAndSetAsInitializer(VTable); in GenerateConstructionVTable()
920 CGM.setGVProperties(VTable, RD); in GenerateConstructionVTable()
925 GenerateRelativeVTableAlias(VTable, OutName); in GenerateConstructionVTable()
927 return VTable; in GenerateConstructionVTable()
946 if (VTable->hasAvailableExternallyLinkage()) in GenerateRelativeVTableAlias()
953 VTable->setName(AliasName + ".local"); in GenerateRelativeVTableAlias()
955 auto Linkage = VTable->getLinkage(); in GenerateRelativeVTableAlias()
972 if (!VTable->hasComdat()) { in GenerateRelativeVTableAlias()
983 VTableAlias->setAliasee(VTable); in GenerateRelativeVTableAlias()
[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.cpp1739 VTable->setComdat(CGM.getModule().getOrInsertComdat(VTable->getName())); in emitVTableDefinitions()
1773 CGVT.GenerateRelativeVTableAlias(VTable, VTable->getName()); in emitVTableDefinitions()
1871 if (VTable) in getAddrOfVTable()
1872 return VTable; in getAddrOfVTable()
1917 return VTable; in getAddrOfVTable()
1941 VTable = CGF.Builder.CreateBitCast(VTable, CGM.Int8PtrTy); in getVirtualFunctionPointer()
1947 VTable = in getVirtualFunctionPointer()
3570 if (!VTable) in BuildVTablePointer()
3583 VTable = llvm::ConstantExpr::getBitCast(VTable, CGM.Int8PtrTy); in BuildVTablePointer()
3584 VTable = in BuildVTablePointer()
[all …]
H A DMicrosoftCXXABI.cpp1725 if (VTable->hasInitializer()) in emitVTableDefinitions()
1852 VTable = VTableAliasIsRequred in getAddrOfVTable()
1856 return VTable; in getAddrOfVTable()
1893 VTable->getValueType(), VTable, GEPIndices); in getAddrOfVTable()
1909 VFTable = VTable; in getAddrOfVTable()
1912 VTable->setComdat(C); in getAddrOfVTable()
1918 return VTable; in getAddrOfVTable()
1954 getObjectWithVPtr(), VTable, Ty, in getVirtualFunctionPointer()
2091 llvm::Value *VTable = CGF.GetVTablePtr( in EmitVirtualMemPtrThunk() local
2095 ThunkPtrTy, VTable, ML.Index, "vfn"); in EmitVirtualMemPtrThunk()
[all …]
H A DCGClass.cpp2648 CGM.DecorateInstructionWithTBAA(VTable, TBAAInfo); in GetVTablePtr()
2652 CGM.DecorateInstructionWithInvariantGroup(VTable, RD); in GetVTablePtr()
2654 return VTable; in GetVTablePtr()
2693 llvm::Value *VTable, in EmitTypeMetadataCodeForVCall() argument
2721 llvm::Value *VTable, in EmitVTablePtrCheckForCall() argument
2727 EmitVTablePtrCheck(RD, VTable, TCK, Loc); in EmitVTablePtrCheckForCall()
2763 llvm::Value *VTable; in EmitVTablePtrCheckForCast() local
2764 std::tie(VTable, ClassDecl) = in EmitVTablePtrCheckForCast()
2767 EmitVTablePtrCheck(ClassDecl, VTable, TCK, Loc); in EmitVTablePtrCheckForCast()
2776 llvm::Value *VTable, in EmitVTablePtrCheck() argument
[all …]
H A DCGVTables.h155 void GenerateRelativeVTableAlias(llvm::GlobalVariable *VTable,
H A DCodeGenModule.h1433 llvm::GlobalVariable *VTable,
1465 void AddVTableTypeMetadata(llvm::GlobalVariable *VTable, CharUnits Offset,
H A DCGExprCXX.cpp399 llvm::Value *VTable; in EmitCXXMemberOrOperatorMemberCallExpr() local
401 std::tie(VTable, RD) = CGM.getCXXABI().LoadVTablePtr( in EmitCXXMemberOrOperatorMemberCallExpr()
403 EmitVTablePtrCheckForCall(RD, VTable, CFITCK_NVCall, CE->getBeginLoc()); in EmitCXXMemberOrOperatorMemberCallExpr()
H A DCodeGenFunction.h2313 void EmitVTablePtrCheckForCall(const CXXRecordDecl *RD, llvm::Value *VTable,
2318 void EmitVTablePtrCheck(const CXXRecordDecl *RD, llvm::Value *VTable,
2325 llvm::Value *VTable, SourceLocation Loc);
2334 llvm::Value *VTable,
H A DCodeGenModule.cpp6809 void CodeGenModule::AddVTableTypeMetadata(llvm::GlobalVariable *VTable, in AddVTableTypeMetadata() argument
6814 VTable->addTypeMetadata(Offset.getQuantity(), MD); in AddVTableTypeMetadata()
6818 VTable->addTypeMetadata(Offset.getQuantity(), in AddVTableTypeMetadata()
6823 VTable->addTypeMetadata(Offset.getQuantity(), MD); in AddVTableTypeMetadata()
/llvm-project-15.0.7/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.cpp410 Value *VTable = nullptr; member
516 void addCallSite(Value *VTable, CallBase &CB, unsigned *NumUnsafeUses);
536 void VTableSlotInfo::addCallSite(Value *VTable, CallBase &CB, in addCallSite() argument
540 CSI.CallSites.push_back({VTable, CB, NumUnsafeUses}); in addCallSite()
1409 Args.push_back(IRB.CreateBitCast(VCallSite.VTable, Int8PtrTy)); in applyICallBranchFunnel()
1598 B.CreateICmp(IsOne ? ICmpInst::ICMP_EQ : ICmpInst::ICMP_NE, Call.VTable, in applyUniqueRetValOpt()
1599 B.CreateBitCast(UniqueMemberAddr, Call.VTable->getType())); in applyUniqueRetValOpt()
1670 B.CreateGEP(Int8Ty, B.CreateBitCast(Call.VTable, Int8PtrTy), Byte); in applyVirtualConstProp()
/llvm-project-15.0.7/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
/llvm-project-15.0.7/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 <<()
/llvm-project-15.0.7/llvm/unittests/DebugInfo/PDB/
H A DPDBApiTest.cpp438 InsertItemWithTag(PDB_SymType::VTable); in SetUp()
500 VerifyDyncast<PDBSymbolTypeVTable>(PDB_SymType::VTable); in TEST_F()
/llvm-project-15.0.7/llvm/unittests/DebugInfo/CodeView/
H A DTypeIndexDiscoveryTest.cpp393 TEST_F(TypeIndexIteratorTest, VTable) { in TEST_F() argument
/llvm-project-15.0.7/llvm/docs/
H A DTypeMetadata.rst91 :header: VTable for, Offset, Compatible Class
/llvm-project-15.0.7/lldb/source/Plugins/SymbolFile/PDB/
H A DPDBASTParser.cpp288 case PDB_SymType::VTable: { in GetClassOrFunctionParent()
/llvm-project-15.0.7/clang/include/clang/Basic/
H A DDiagnosticASTKinds.td405 let CategoryName = "VTable ABI Issue" in {
/llvm-project-15.0.7/clang/docs/
H A DControlFlowIntegrityDesign.rst293 .. [1] `Protecting C++ Dynamic Dispatch Through VTable Interleaving <https://cseweb.ucsd.edu/~lerne…

12