Move vtable dumper call to VTableBuilder ctor

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140508 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGVTables.cpp b/lib/CodeGen/CGVTables.cpp
index 44ac56a..c753ce2 100644
--- a/lib/CodeGen/CGVTables.cpp
+++ b/lib/CodeGen/CGVTables.cpp
@@ -1000,6 +1000,9 @@
     Overriders(MostDerivedClass, MostDerivedClassOffset, LayoutClass) {
 
     LayoutVTable();
+
+    if (Context.getLangOptions().DumpVTableLayouts)
+      dumpLayout(llvm::errs());
   }
 
   uint64_t getNumThunks() const {
@@ -3021,14 +3024,6 @@
 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 @@
                         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());