mirror of
https://github.com/intel/llvm.git
synced 2026-02-02 10:08:59 +08:00
Add a function for getting the vtable address point of a class.
llvm-svn: 90674
This commit is contained in:
@@ -1075,6 +1075,13 @@ int64_t CGVtableInfo::getVirtualBaseOffsetIndex(const CXXRecordDecl *RD,
|
||||
return I->second;
|
||||
}
|
||||
|
||||
uint64_t CGVtableInfo::getVtableAddressPoint(const CXXRecordDecl *RD) {
|
||||
uint64_t AddressPoint =
|
||||
(*(*(CGM.AddressPoints[RD]))[RD])[std::make_pair(RD, 0)];
|
||||
|
||||
return AddressPoint;
|
||||
}
|
||||
|
||||
llvm::Constant *CodeGenModule::GenerateVtable(const CXXRecordDecl *LayoutClass,
|
||||
const CXXRecordDecl *RD,
|
||||
uint64_t Offset) {
|
||||
|
||||
@@ -113,6 +113,11 @@ public:
|
||||
int64_t getVirtualBaseOffsetIndex(const CXXRecordDecl *RD,
|
||||
const CXXRecordDecl *VBase);
|
||||
|
||||
/// getVtableAddressPoint - returns the address point of the vtable for the
|
||||
/// given record decl.
|
||||
/// FIXME: This should return a list of address points.
|
||||
uint64_t getVtableAddressPoint(const CXXRecordDecl *RD);
|
||||
|
||||
llvm::Constant *getVtable(const CXXRecordDecl *RD);
|
||||
llvm::Constant *getCtorVtable(const CXXRecordDecl *RD,
|
||||
const CXXRecordDecl *Class, uint64_t Offset);
|
||||
|
||||
Reference in New Issue
Block a user