diff options
| author | Artem Dergachev <artem.dergachev@gmail.com> | 2018-12-03 22:19:05 +0000 |
|---|---|---|
| committer | Artem Dergachev <artem.dergachev@gmail.com> | 2018-12-03 22:19:05 +0000 |
| commit | 057647d8783c01301a84bc09c9e5b667460c1ceb (patch) | |
| tree | 131e536606573ac1177f2c9f130ca4d4db3ec041 | |
| parent | d3942beb463a87ffa30d565af338b3972462600c (diff) | |
| download | bcm5719-llvm-057647d8783c01301a84bc09c9e5b667460c1ceb.tar.gz bcm5719-llvm-057647d8783c01301a84bc09c9e5b667460c1ceb.zip | |
[AST] [analyzer] NFC: Reuse code in stable ID dumping methods.
Use the new fancy method introduced in r348197 to simplify some code.
Differential Revision: https://reviews.llvm.org/D54488
llvm-svn: 348199
| -rw-r--r-- | clang/lib/AST/DeclBase.cpp | 5 | ||||
| -rw-r--r-- | clang/lib/AST/DeclCXX.cpp | 7 | ||||
| -rw-r--r-- | clang/lib/AST/Stmt.cpp | 5 | ||||
| -rw-r--r-- | clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp | 5 | ||||
| -rw-r--r-- | clang/lib/StaticAnalyzer/Core/ProgramState.cpp | 5 |
5 files changed, 6 insertions, 21 deletions
diff --git a/clang/lib/AST/DeclBase.cpp b/clang/lib/AST/DeclBase.cpp index f65d3063e37..95babf79179 100644 --- a/clang/lib/AST/DeclBase.cpp +++ b/clang/lib/AST/DeclBase.cpp @@ -955,10 +955,7 @@ static Decl::Kind getKind(const Decl *D) { return D->getKind(); } static Decl::Kind getKind(const DeclContext *DC) { return DC->getDeclKind(); } int64_t Decl::getID() const { - Optional<int64_t> Out = getASTContext().getAllocator().identifyObject(this); - assert(Out && "Wrong allocator used"); - assert(*Out % alignof(Decl) == 0 && "Wrong alignment information"); - return *Out / alignof(Decl); + return getASTContext().getAllocator().identifyKnownAlignedObject<Decl>(this); } const FunctionType *Decl::getFunctionType(bool BlocksToo) const { diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp index 81ee48c1829..419326ae904 100644 --- a/clang/lib/AST/DeclCXX.cpp +++ b/clang/lib/AST/DeclCXX.cpp @@ -2247,11 +2247,8 @@ CXXCtorInitializer::CXXCtorInitializer(ASTContext &Context, IsDelegating(true), IsVirtual(false), IsWritten(false), SourceOrder(0) {} int64_t CXXCtorInitializer::getID(const ASTContext &Context) const { - Optional<int64_t> Out = Context.getAllocator().identifyObject(this); - assert(Out && "Wrong allocator used"); - assert(*Out % alignof(CXXCtorInitializer) == 0 && - "Wrong alignment information"); - return *Out / alignof(CXXCtorInitializer); + return Context.getAllocator() + .identifyKnownAlignedObject<CXXCtorInitializer>(this); } TypeLoc CXXCtorInitializer::getBaseClassLoc() const { diff --git a/clang/lib/AST/Stmt.cpp b/clang/lib/AST/Stmt.cpp index 901df9ca759..32330ea3bfe 100644 --- a/clang/lib/AST/Stmt.cpp +++ b/clang/lib/AST/Stmt.cpp @@ -303,10 +303,7 @@ SourceLocation Stmt::getEndLoc() const { } int64_t Stmt::getID(const ASTContext &Context) const { - Optional<int64_t> Out = Context.getAllocator().identifyObject(this); - assert(Out && "Wrong allocator used"); - assert(*Out % alignof(Stmt) == 0 && "Wrong alignment information"); - return *Out / alignof(Stmt); + return Context.getAllocator().identifyKnownAlignedObject<Stmt>(this); } CompoundStmt::CompoundStmt(ArrayRef<Stmt *> Stmts, SourceLocation LB, diff --git a/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp b/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp index d76710004c8..d6bcbb96b55 100644 --- a/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp +++ b/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp @@ -284,10 +284,7 @@ ExplodedNode * const *ExplodedNode::NodeGroup::end() const { } int64_t ExplodedNode::getID(ExplodedGraph *G) const { - Optional<int64_t> Out = G->getAllocator().identifyObject(this); - assert(Out && "Wrong allocator used"); - assert(*Out % alignof(ExplodedNode) == 0 && "Wrong alignment information"); - return *Out / alignof(ExplodedNode); + return G->getAllocator().identifyKnownAlignedObject<ExplodedNode>(this); } bool ExplodedNode::isTrivial() const { diff --git a/clang/lib/StaticAnalyzer/Core/ProgramState.cpp b/clang/lib/StaticAnalyzer/Core/ProgramState.cpp index 399cf183021..ceb4fbdf784 100644 --- a/clang/lib/StaticAnalyzer/Core/ProgramState.cpp +++ b/clang/lib/StaticAnalyzer/Core/ProgramState.cpp @@ -70,10 +70,7 @@ ProgramState::~ProgramState() { } int64_t ProgramState::getID() const { - Optional<int64_t> Out = getStateManager().Alloc.identifyObject(this); - assert(Out && "Wrong allocator used"); - assert(*Out % alignof(ProgramState) == 0 && "Wrong alignment information"); - return *Out / alignof(ProgramState); + return getStateManager().Alloc.identifyKnownAlignedObject<ProgramState>(this); } ProgramStateManager::ProgramStateManager(ASTContext &Ctx, |

