diff options
author | Mike Stump <mrs@apple.com> | 2009-11-10 07:44:33 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-11-10 07:44:33 +0000 |
commit | 380dd759b33fd059b1aa7dbd85f8e66ca32f7bdc (patch) | |
tree | 27f20d2450d139bc1fa37d4f20813b524f1c24a4 /lib/CodeGen/CGCXX.cpp | |
parent | d7be78a0524251c30329359c9d92485c6d7ac424 (diff) |
Add vtable caching to prevent multiple vtables for the same class from
being generated.
Add the most derived vtable pointer to the VTT.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86671 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGCXX.cpp')
-rw-r--r-- | lib/CodeGen/CGCXX.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/CGCXX.cpp b/lib/CodeGen/CGCXX.cpp index 0e394b56f5..56b38e57e3 100644 --- a/lib/CodeGen/CGCXX.cpp +++ b/lib/CodeGen/CGCXX.cpp @@ -1492,7 +1492,7 @@ void CodeGenFunction::EmitCtorPrologue(const CXXConstructorDecl *CD, Ptr8Ty = llvm::PointerType::get(llvm::Type::getInt8Ty(VMContext), 0); PtrPtr8Ty = llvm::PointerType::get(Ptr8Ty, 0); VtableField = Builder.CreateBitCast(LoadOfThis, PtrPtr8Ty); - llvm::Value *vtable = GenerateVtable(ClassDecl); + llvm::Value *vtable = CGM.getVtableInfo().getVtable(ClassDecl); Builder.CreateStore(vtable, VtableField); } } |