diff options
author | Samuel Benzaquen <sbenza@google.com> | 2014-10-09 19:28:18 +0000 |
---|---|---|
committer | Samuel Benzaquen <sbenza@google.com> | 2014-10-09 19:28:18 +0000 |
commit | 96039d727b3dfb190f23027aa62ec1718255ffa7 (patch) | |
tree | f704a2afa6ad3b33eae5e80926beb1f381cdbc16 /clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp | |
parent | 33860a8f09f75797226d1fee1a5af19dc49b6906 (diff) | |
download | bcm5719-llvm-96039d727b3dfb190f23027aa62ec1718255ffa7.tar.gz bcm5719-llvm-96039d727b3dfb190f23027aa62ec1718255ffa7.zip |
Special case 0 and 1 matcher in makeAllOfComposite().
Summary:
Remove unnecessary wrapping for the 0 and 1 matcher cases of
makeAllOfComposite(). We don't need a variadic wrapper for those cases.
Refactor TrueMatcher to take advandage of the new conversions between
DynTypedMatcher and Matcher<T>. Also, make it a singleton.
This change improves our clang-tidy related benchmarks by ~12%.
Reviewers: klimek
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D5675
llvm-svn: 219431
Diffstat (limited to 'clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp')
-rw-r--r-- | clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp b/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp index ed507d57333..2a9a61b543d 100644 --- a/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp +++ b/clang/unittests/ASTMatchers/Dynamic/ParserTest.cpp @@ -26,7 +26,10 @@ public: virtual ~MockSema() {} uint64_t expectMatcher(StringRef MatcherName) { - ast_matchers::internal::Matcher<Stmt> M = stmt(); + // Optimizations on the matcher framework make simple matchers like + // 'stmt()' to be all the same matcher. + // Use a more complex expression to prevent that. + ast_matchers::internal::Matcher<Stmt> M = stmt(stmt(), stmt()); ExpectedMatchers.insert(std::make_pair(MatcherName, M)); return M.getID().second; } |