summaryrefslogtreecommitdiffstats
path: root/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp
diff options
context:
space:
mode:
authorSamuel Benzaquen <sbenza@google.com>2014-11-17 14:55:49 +0000
committerSamuel Benzaquen <sbenza@google.com>2014-11-17 14:55:49 +0000
commit9743c9d88caa24abe30eb7e21aca1e74ae18f2a9 (patch)
treeb0dad05b007af7b400e78a6798f32d3223ec82b7 /clang/lib/ASTMatchers/Dynamic/VariantValue.cpp
parent4c0ef3797bbe59e44845e79bd39240427630c428 (diff)
downloadbcm5719-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.cpp8
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)));
}
OpenPOWER on IntegriCloud