summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2011-09-26 01:57:00 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2011-09-26 01:57:00 +0000
commit085095f1ac9de5a4ab90b861445eb14a5c7cd159 (patch)
tree8cbcbbabdcfe8049ec8c6a4d8951fe68adc7b871 /clang/lib/CodeGen
parent3b118abd93f48894e6c1706d6632097298bafecd (diff)
downloadbcm5719-llvm-085095f1ac9de5a4ab90b861445eb14a5c7cd159.tar.gz
bcm5719-llvm-085095f1ac9de5a4ab90b861445eb14a5c7cd159.zip
Move vtable dumper call to VTableBuilder ctor
llvm-svn: 140508
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGVTables.cpp15
1 files changed, 3 insertions, 12 deletions
diff --git a/clang/lib/CodeGen/CGVTables.cpp b/clang/lib/CodeGen/CGVTables.cpp
index 44ac56a0aad..c753ce20a85 100644
--- a/clang/lib/CodeGen/CGVTables.cpp
+++ b/clang/lib/CodeGen/CGVTables.cpp
@@ -1000,6 +1000,9 @@ public:
Overriders(MostDerivedClass, MostDerivedClassOffset, LayoutClass) {
LayoutVTable();
+
+ if (Context.getLangOptions().DumpVTableLayouts)
+ dumpLayout(llvm::errs());
}
uint64_t getNumThunks() const {
@@ -3021,14 +3024,6 @@ void
CodeGenVTables::EmitVTableDefinition(llvm::GlobalVariable *VTable,
llvm::GlobalVariable::LinkageTypes Linkage,
const CXXRecordDecl *RD) {
- // Dump the vtable layout if necessary.
- if (CGM.getLangOptions().DumpVTableLayouts) {
- VTableBuilder Builder(VTContext, RD, CharUnits::Zero(),
- /*MostDerivedClassIsVirtual=*/0, RD);
-
- Builder.dumpLayout(llvm::errs());
- }
-
const VTableLayout &VTLayout = VTContext.getVTableLayout(RD);
// Create and set the initializer.
@@ -3057,10 +3052,6 @@ CodeGenVTables::GenerateConstructionVTable(const CXXRecordDecl *RD,
Base.getBaseOffset(),
/*MostDerivedClassIsVirtual=*/BaseIsVirtual, RD);
- // Dump the vtable layout if necessary.
- if (CGM.getLangOptions().DumpVTableLayouts)
- Builder.dumpLayout(llvm::errs());
-
// Add the address points.
AddressPoints.insert(Builder.address_points_begin(),
Builder.address_points_end());
OpenPOWER on IntegriCloud