Use TinyPtrVector instead of UsuallyTinyPtrVector.

The latter is just a worse version of the former.

llvm-svn: 152096
This commit is contained in:
Argyrios Kyrtzidis 2012-03-06 03:00:11 +00:00
parent d9b427ee65
commit 735f9d4805
3 changed files with 3 additions and 9 deletions

View File

@ -32,7 +32,7 @@
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/OwningPtr.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/UsuallyTinyPtrVector.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/Support/Allocator.h"
#include <vector>
@ -322,7 +322,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
/// Since most C++ member functions aren't virtual and therefore
/// don't override anything, we store the overridden functions in
/// this map on the side rather than within the CXXMethodDecl structure.
typedef llvm::UsuallyTinyPtrVector<const CXXMethodDecl> CXXMethodVector;
typedef llvm::TinyPtrVector<const CXXMethodDecl*> CXXMethodVector;
llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector> OverriddenMethods;
/// \brief Mapping from each declaration context to its corresponding lambda

View File

@ -1601,7 +1601,7 @@ public:
///
void addOverriddenMethod(const CXXMethodDecl *MD);
typedef const CXXMethodDecl ** method_iterator;
typedef const CXXMethodDecl *const* method_iterator;
method_iterator begin_overridden_methods() const;
method_iterator end_overridden_methods() const;

View File

@ -259,12 +259,6 @@ ASTContext::~ASTContext() {
for (unsigned I = 0, N = Deallocations.size(); I != N; ++I)
Deallocations[I].first(Deallocations[I].second);
// Release all of the memory associated with overridden C++ methods.
for (llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector>::iterator
OM = OverriddenMethods.begin(), OMEnd = OverriddenMethods.end();
OM != OMEnd; ++OM)
OM->second.Destroy();
// ASTRecordLayout objects in ASTRecordLayouts must always be destroyed
// because they can contain DenseMaps.
for (llvm::DenseMap<const ObjCContainerDecl*,