summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2017-05-16 17:28:17 +0000
committerAlexander Kornienko <alexfh@google.com>2017-05-16 17:28:17 +0000
commitb215d473ddadc3199bd63656bf15daff329082b6 (patch)
tree58f1ee3d381fb4d4ae352d502b0f9179159ee05d /clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
parent369f74c16b91ddb9c9bb626e3e48284beaf2d61e (diff)
downloadbcm5719-llvm-b215d473ddadc3199bd63656bf15daff329082b6.tar.gz
bcm5719-llvm-b215d473ddadc3199bd63656bf15daff329082b6.zip
[clang-tidy] Speed up performance-unnecessary-value-param check
Moved slower matchers closer to the end. The total speed up on a large file I was interested in is not huge, just about 10%, since the check seems to be doing a lot in the check() method. llvm-svn: 303191
Diffstat (limited to 'clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
index cde30a621bc..a34f7076ea7 100644
--- a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
+++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
@@ -68,15 +68,14 @@ UnnecessaryValueParamCheck::UnnecessaryValueParamCheck(
void UnnecessaryValueParamCheck::registerMatchers(MatchFinder *Finder) {
const auto ExpensiveValueParamDecl =
- parmVarDecl(hasType(hasCanonicalType(allOf(matchers::isExpensiveToCopy(),
- unless(referenceType())))),
+ parmVarDecl(hasType(hasCanonicalType(allOf(
+ unless(referenceType()), matchers::isExpensiveToCopy()))),
decl().bind("param"));
Finder->addMatcher(
- functionDecl(hasBody(stmt()), isDefinition(),
+ functionDecl(hasBody(stmt()), isDefinition(), unless(isImplicit()),
unless(cxxMethodDecl(anyOf(isOverride(), isFinal()))),
- unless(anyOf(isInstantiated(), isImplicit())),
has(typeLoc(forEach(ExpensiveValueParamDecl))),
- decl().bind("functionDecl")),
+ unless(isInstantiated()), decl().bind("functionDecl")),
this);
}
OpenPOWER on IntegriCloud