diff options
author | Samuel Benzaquen <sbenza@google.com> | 2014-11-17 14:55:49 +0000 |
---|---|---|
committer | Samuel Benzaquen <sbenza@google.com> | 2014-11-17 14:55:49 +0000 |
commit | 9743c9d88caa24abe30eb7e21aca1e74ae18f2a9 (patch) | |
tree | b0dad05b007af7b400e78a6798f32d3223ec82b7 /clang/lib/ASTMatchers/Dynamic/VariantValue.cpp | |
parent | 4c0ef3797bbe59e44845e79bd39240427630c428 (diff) | |
download | bcm5719-llvm-9743c9d88caa24abe30eb7e21aca1e74ae18f2a9.tar.gz bcm5719-llvm-9743c9d88caa24abe30eb7e21aca1e74ae18f2a9.zip |
Remove VariadicOperatorMatcherInterface as it is redundant with logic from DynTypedMatcher.
Summary:
The generic variadic matcher is faster (one less virtual function call
per match) and doesn't require template instantiations which reduces
compile time and binary size.
Registry.cpp.o generates ~14% less symbols and compiles ~7.5% faster.
The change also speeds up our clang-tidy benchmark by ~2%.
Reviewers: klimek
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D6278
llvm-svn: 222131
Diffstat (limited to 'clang/lib/ASTMatchers/Dynamic/VariantValue.cpp')
-rw-r--r-- | clang/lib/ASTMatchers/Dynamic/VariantValue.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp b/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp index 3d14157fcab..08b3b1d3f31 100644 --- a/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp +++ b/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp @@ -58,7 +58,7 @@ VariantMatcher::MatcherOps::canConstructFrom(const DynTypedMatcher &Matcher, llvm::Optional<DynTypedMatcher> VariantMatcher::MatcherOps::constructVariadicOperator( - ast_matchers::internal::VariadicOperatorFunction Func, + DynTypedMatcher::VariadicOperatorFunction Func, ArrayRef<VariantMatcher> InnerMatchers) const { std::vector<DynTypedMatcher> DynMatchers; for (const auto &InnerMatcher : InnerMatchers) { @@ -176,7 +176,7 @@ public: class VariantMatcher::VariadicOpPayload : public VariantMatcher::Payload { public: - VariadicOpPayload(ast_matchers::internal::VariadicOperatorFunction Func, + VariadicOpPayload(DynTypedMatcher::VariadicOperatorFunction Func, std::vector<VariantMatcher> Args) : Func(Func), Args(std::move(Args)) {} @@ -209,7 +209,7 @@ public: } private: - const ast_matchers::internal::VariadicOperatorFunction Func; + const DynTypedMatcher::VariadicOperatorFunction Func; const std::vector<VariantMatcher> Args; }; @@ -225,7 +225,7 @@ VariantMatcher::PolymorphicMatcher(std::vector<DynTypedMatcher> Matchers) { } VariantMatcher VariantMatcher::VariadicOperatorMatcher( - ast_matchers::internal::VariadicOperatorFunction Func, + DynTypedMatcher::VariadicOperatorFunction Func, std::vector<VariantMatcher> Args) { return VariantMatcher(new VariadicOpPayload(Func, std::move(Args))); } |