| /openbsd-src/gnu/llvm/clang/lib/CodeGen/ |
| H A D | CGVTT.cpp | 23 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 D | CGVTables.cpp | 915 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 D | CGCXX.cpp | 254 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 D | ItaniumCXXABI.cpp | 635 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 D | MicrosoftCXXABI.cpp | 296 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 D | CGClass.cpp | 2687 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 D | CGVTables.h | 159 void GenerateRelativeVTableAlias(llvm::GlobalVariable *VTable,
|
| H A D | CodeGenModule.h | 1449 llvm::GlobalVariable *VTable, 1493 void AddVTableTypeMetadata(llvm::GlobalVariable *VTable, CharUnits Offset,
|
| H A D | CGExprCXX.cpp | 402 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 D | CodeGenFunction.h | 2315 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 D | CodeGenModule.cpp | 7017 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 D | GlobalDCE.cpp | 210 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 D | WholeProgramDevirt.cpp | 409 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 D | UDTLayout.h | 100 std::unique_ptr<PDBSymbolTypeVTable> VTable); 106 std::unique_ptr<PDBSymbolTypeVTable> VTable; variable 143 VTableLayoutItem *VTable = nullptr; variable
|
| H A D | PDBSymbolTypeVTable.h | 20 DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::VTable)
|
| H A D | PDBTypes.h | 269 VTable, enumerator
|
| /openbsd-src/gnu/llvm/llvm/lib/DebugInfo/PDB/ |
| H A D | UDTLayout.cpp | 102 VTable(std::move(VT)) { in VTableLayoutItem() 103 auto VTableType = cast<PDBSymbolTypePointer>(VTable->getType()); in VTableLayoutItem() 224 VTable = VTLayout.get(); in initializeChildren()
|
| H A D | PDBSymbol.cpp | 90 FACTORY_SYMTAG_CASE(VTable, PDBSymbolTypeVTable) in createSymbol()
|
| H A D | PDBExtras.cpp | 265 CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, VTable, OS) in operator <<()
|
| /openbsd-src/gnu/llvm/llvm/docs/ |
| H A D | TypeMetadata.rst | 91 :header: VTable for, Offset, Compatible Class
|
| H A D | LangRef.rst | 4406 static relocations for offsets between the VTable and virtual functions which
|
| /openbsd-src/gnu/llvm/lldb/source/Plugins/SymbolFile/PDB/ |
| H A D | PDBASTParser.cpp | 296 case PDB_SymType::VTable: { in GetClassOrFunctionParent()
|
| /openbsd-src/gnu/llvm/clang/docs/ |
| H A D | ControlFlowIntegrityDesign.rst | 293 .. [1] `Protecting C++ Dynamic Dispatch Through VTable Interleaving <https://cseweb.ucsd.edu/~lerne…
|
| /openbsd-src/gnu/llvm/clang/include/clang/Basic/ |
| H A D | DiagnosticASTKinds.td | 425 let CategoryName = "VTable ABI Issue" in {
|