From 7663d3be15c21158ebf17941faa75b1bd8ee830d Mon Sep 17 00:00:00 2001 From: Samuel Benzaquen Date: Wed, 25 May 2016 16:19:23 +0000 Subject: Speed up check by using a recursive visitor. Summary: Use a recursive visitor instead of forEachDescendant() matcher. The latter requires several layers of virtual function calls for each node and it is more expensive than the visitor. Benchmark results show improvement of ~6% walltime in clang-tidy. Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D20597 llvm-svn: 270714 --- clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h') diff --git a/clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h b/clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h index 1231cb139ea..ed40330c3cd 100644 --- a/clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h +++ b/clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h @@ -34,21 +34,11 @@ public: void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; - void onEndOfTranslationUnit() override; private: - struct FunctionInfo { - FunctionInfo() : Lines(0), Statements(0), Branches(0) {} - unsigned Lines; - unsigned Statements; - unsigned Branches; - }; - const unsigned LineThreshold; const unsigned StatementThreshold; const unsigned BranchThreshold; - - llvm::DenseMap FunctionInfos; }; } // namespace readability -- cgit v1.2.3