diff options
| author | Anders Carlsson <andersca@mac.com> | 2009-12-05 21:02:25 +0000 |
|---|---|---|
| committer | Anders Carlsson <andersca@mac.com> | 2009-12-05 21:02:25 +0000 |
| commit | b694f05ffb00fbcdf804a38b9be8114ed33dabb8 (patch) | |
| tree | 4777a09db3f58a76ce177a33a0c7747bd6e66cb6 /clang/lib/CodeGen | |
| parent | b78d093fccddd8eb275c3ee763a92340bbd736a0 (diff) | |
| download | bcm5719-llvm-b694f05ffb00fbcdf804a38b9be8114ed33dabb8.tar.gz bcm5719-llvm-b694f05ffb00fbcdf804a38b9be8114ed33dabb8.zip | |
Simplify BuildVTT.
llvm-svn: 90673
Diffstat (limited to 'clang/lib/CodeGen')
| -rw-r--r-- | clang/lib/CodeGen/CGVtable.cpp | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/clang/lib/CodeGen/CGVtable.cpp b/clang/lib/CodeGen/CGVtable.cpp index e7f170f5596..b01f4cf97b7 100644 --- a/clang/lib/CodeGen/CGVtable.cpp +++ b/clang/lib/CodeGen/CGVtable.cpp @@ -1251,27 +1251,26 @@ class VTTBuilder { if (RD->getNumVBases() == 0 && !MorallyVirtual) return; - llvm::Constant *init; - const CXXRecordDecl *VtblClass; + llvm::Constant *Vtable; + const CXXRecordDecl *VtableClass; // First comes the primary virtual table pointer... if (MorallyVirtual) { - init = BuildVtablePtr(ClassVtbl, Class, RD, Offset); - VtblClass = Class; + Vtable = ClassVtbl; + VtableClass = Class; } else { - init = CGM.getVtableInfo().getCtorVtable(Class, RD, Offset); - init = BuildVtablePtr(init, RD, RD, Offset); - - VtblClass = RD; + Vtable = CGM.getVtableInfo().getCtorVtable(Class, RD, Offset); + VtableClass = RD; } - llvm::Constant *vtbl = cast<llvm::Constant>(init->getOperand(0)); - Inits.push_back(init); + + llvm::Constant *Init = BuildVtablePtr(Vtable, VtableClass, RD, Offset); + Inits.push_back(Init); // then the secondary VTTs.... SecondaryVTTs(RD, Offset, MorallyVirtual); // and last the secondary vtable pointers. - Secondary(RD, vtbl, VtblClass, Offset, MorallyVirtual); + Secondary(RD, Vtable, VtableClass, Offset, MorallyVirtual); } /// SecondaryVTTs - Add the secondary VTTs to Inits. The secondary VTTs are |

