]> granicus.if.org Git - clang/commitdiff
Eliminate submethods vector.
authorEli Friedman <eli.friedman@gmail.com>
Fri, 4 Dec 2009 08:36:58 +0000 (08:36 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Fri, 4 Dec 2009 08:36:58 +0000 (08:36 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90562 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGVtable.cpp

index 154e0fad330136bd2132e57fc07fa2558ae9c21c..40daadb824d22973164b78cfa6164d4acc99db9d 100644 (file)
@@ -28,7 +28,6 @@ public:
   typedef uint64_t Index_t;
 private:
   std::vector<llvm::Constant *> &methods;
-  std::vector<llvm::Constant *> submethods;
   llvm::Type *Ptr8Ty;
   /// Class - The most derived class that this vtable is being built for.
   const CXXRecordDecl *Class;
@@ -343,7 +342,6 @@ public:
     // entry.
     Methods.AddMethod(GD);
 
-    submethods.push_back(m);
     D1(printf("  vfn for %s at %d\n", MD->getNameAsString().c_str(),
               (int)Index[GD]));
     if (MorallyVirtual) {
@@ -473,8 +471,6 @@ public:
     methods.push_back(rtti);
     Index_t AddressPoint = methods.size();
 
-    assert(submethods.size() == Methods.size() && "Method size mismatch!");
-
     AppendMethodsToVtable();
 
     // and then the non-virtual bases.
@@ -780,7 +776,6 @@ bool VtableBuilder::OverrideMethod(GlobalDecl GD, llvm::Constant *m,
 
     Methods.OverrideMethod(OGD, GD);
 
-    submethods[Index] = m;
     ThisAdjustments.erase(Index);
     if (MorallyVirtual || VCall.count(OGD)) {
       Index_t &idx = VCall[OGD];
@@ -886,7 +881,6 @@ void VtableBuilder::AppendMethodsToVtable() {
   BaseReturnTypes.clear();
   
   Methods.clear();
-  submethods.clear();
 }
 
 void CGVtableInfo::ComputeMethodVtableIndices(const CXXRecordDecl *RD) {