From 8b5987eba5a080962cbc98ce5f006db3aa62ae2e Mon Sep 17 00:00:00 2001 From: Timur Iskhodzhanov Date: Fri, 27 Sep 2013 14:48:01 +0000 Subject: Abstract out the emission of vtables, add basic support for vtable emission when using -cxx-abi microsoft Reviewed at http://llvm-reviews.chandlerc.com/D1532 llvm-svn: 191523 --- clang/lib/CodeGen/CGVTables.h | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'clang/lib/CodeGen/CGVTables.h') diff --git a/clang/lib/CodeGen/CGVTables.h b/clang/lib/CodeGen/CGVTables.h index e4f5366baee..9b95952e5e8 100644 --- a/clang/lib/CodeGen/CGVTables.h +++ b/clang/lib/CodeGen/CGVTables.h @@ -35,9 +35,6 @@ class CodeGenVTables { // classes? VTableContext VTContext; OwningPtr VFTContext; - - /// VTables - All the vtables which have been defined. - llvm::DenseMap VTables; /// VTableAddressPointsMapTy - Address points for a single vtable. typedef llvm::DenseMap VTableAddressPointsMapTy; @@ -65,6 +62,7 @@ class CodeGenVTables { /// doesn't contain any incomplete types. void MaybeEmitThunkAvailableExternally(GlobalDecl GD, const ThunkInfo &Thunk); +public: /// CreateVTableInitializer - Create a vtable initializer for the given record /// decl. /// \param Components - The vtable components; this is really an array of @@ -75,7 +73,6 @@ class CodeGenVTables { const VTableLayout::VTableThunkTy *VTableThunks, unsigned NumVTableThunks); -public: CodeGenVTables(CodeGenModule &CGM); VTableContext &getVTableContext() { return VTContext; } @@ -95,14 +92,6 @@ public: /// class decl. uint64_t getAddressPoint(BaseSubobject Base, const CXXRecordDecl *RD); - /// GetAddrOfVTable - Get the address of the vtable for the given record decl. - llvm::GlobalVariable *GetAddrOfVTable(const CXXRecordDecl *RD); - - /// EmitVTableDefinition - Emit the definition of the given vtable. - void EmitVTableDefinition(llvm::GlobalVariable *VTable, - llvm::GlobalVariable::LinkageTypes Linkage, - const CXXRecordDecl *RD); - /// GenerateConstructionVTable - Generate a construction vtable for the given /// base subobject. llvm::GlobalVariable * -- cgit v1.2.3