]> granicus.if.org Git - clang/commitdiff
Simplify BuildVTT.
authorAnders Carlsson <andersca@mac.com>
Sat, 5 Dec 2009 21:02:25 +0000 (21:02 +0000)
committerAnders Carlsson <andersca@mac.com>
Sat, 5 Dec 2009 21:02:25 +0000 (21:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90673 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGVtable.cpp

index e7f170f55962659066252962ee6cbb57567b355a..b01f4cf97b7c893a442e43dffd813c3f9b729ebc 100644 (file)
@@ -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