diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2011-09-26 01:57:00 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2011-09-26 01:57:00 +0000 |
commit | 085095f1ac9de5a4ab90b861445eb14a5c7cd159 (patch) | |
tree | 8cbcbbabdcfe8049ec8c6a4d8951fe68adc7b871 /clang/lib/CodeGen | |
parent | 3b118abd93f48894e6c1706d6632097298bafecd (diff) | |
download | bcm5719-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.cpp | 15 |
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()); |