steakhal wrote:
> > Could you please run this with `--enable-check-profile` to see how heavy it
> > is?
>
> I plan to re-run it on clang soon, and share the results.
I've picked a heavy TU of clang for the test: `clang/lib/Sema/SemaExpr.cpp`
```
===-------------------------------------------------------------------------===
clang-tidy checks profiling
===-------------------------------------------------------------------------===
Total Execution Time: 12.6394 seconds (12.6125 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- ---
Name ---
1.3723 ( 19.8%) 1.3141 ( 23.0%) 2.6865 ( 21.3%) 2.6692 ( 21.2%)
misc-unused-using-decls
0.7283 ( 10.5%) 0.6586 ( 11.5%) 1.3869 ( 11.0%) 1.3875 ( 11.0%)
llvm-prefer-isa-or-dyn-cast-in-conditionals
0.9165 ( 13.2%) 0.2823 ( 4.9%) 1.1987 ( 9.5%) 1.1982 ( 9.5%)
llvm-qualified-auto
0.5424 ( 7.8%) 0.4717 ( 8.3%) 1.0141 ( 8.0%) 1.0058 ( 8.0%)
misc-unconventional-assign-operator
0.4127 ( 6.0%) 0.3865 ( 6.8%) 0.7991 ( 6.3%) 0.7982 ( 6.3%)
misc-misleading-identifier
0.4212 ( 6.1%) 0.3571 ( 6.2%) 0.7783 ( 6.2%) 0.7810 ( 6.2%)
misc-confusable-identifiers
0.4033 ( 5.8%) 0.3750 ( 6.6%) 0.7784 ( 6.2%) 0.7775 ( 6.2%)
misc-definitions-in-headers
0.3977 ( 5.7%) 0.3700 ( 6.5%) 0.7677 ( 6.1%) 0.7658 ( 6.1%)
misc-non-copyable-objects
0.2984 ( 4.3%) 0.2572 ( 4.5%) 0.5556 ( 4.4%) 0.5532 ( 4.4%)
misc-redundant-expression
0.2539 ( 3.7%) 0.2164 ( 3.8%) 0.4703 ( 3.7%) 0.4691 ( 3.7%)
performance-redundant-lookup
0.2140 ( 3.1%) 0.1966 ( 3.4%) 0.4107 ( 3.2%) 0.4092 ( 3.2%)
misc-misplaced-const
0.2021 ( 2.9%) 0.1826 ( 3.2%) 0.3846 ( 3.0%) 0.3911 ( 3.1%)
misc-use-internal-linkage
0.1293 ( 1.9%) 0.1195 ( 2.1%) 0.2488 ( 2.0%) 0.2495 ( 2.0%)
misc-new-delete-overloads
0.1141 ( 1.6%) 0.1046 ( 1.8%) 0.2187 ( 1.7%) 0.2189 ( 1.7%)
llvm-prefer-register-over-unsigned
0.1209 ( 1.7%) 0.0911 ( 1.6%) 0.2120 ( 1.7%) 0.2112 ( 1.7%)
misc-static-assert
0.1081 ( 1.6%) 0.0989 ( 1.7%) 0.2070 ( 1.6%) 0.2093 ( 1.7%)
llvm-twine-local
0.0673 ( 1.0%) 0.0670 ( 1.2%) 0.1343 ( 1.1%) 0.1325 ( 1.1%)
misc-unused-alias-decls
0.0693 ( 1.0%) 0.0633 ( 1.1%) 0.1326 ( 1.0%) 0.1309 ( 1.0%)
misc-uniqueptr-reset-release
0.0699 ( 1.0%) 0.0567 ( 1.0%) 0.1266 ( 1.0%) 0.1261 ( 1.0%)
llvm-else-after-return
0.0736 ( 1.1%) 0.0358 ( 0.6%) 0.1094 ( 0.9%) 0.1093 ( 0.9%)
llvm-namespace-comment
0.0100 ( 0.1%) 0.0091 ( 0.2%) 0.0191 ( 0.2%) 0.0190 ( 0.2%)
misc-misleading-bidirectional
0.0000 ( 0.0%) 0.0000 ( 0.0%) 0.0000 ( 0.0%) 0.0000 ( 0.0%)
misc-throw-by-value-catch-by-reference
6.9252 (100.0%) 5.7142 (100.0%) 12.6394 (100.0%) 12.6125 (100.0%) Total
```
The check `performance-redundant-lookup` had a single hit at line 5353 for that
TU, which was a TP:
```c++
if (Param->hasUnparsedDefaultArg()) {
assert(!RewrittenInit && "Should not have a rewritten init expression yet");
// If we've already cleared out the location for the default argument,
// that means we're parsing it right now.
if (!UnparsedDefaultArgLocs.count(Param)) { // <----------------------
first lookup
Diag(Param->getBeginLoc(), diag::err_recursive_default_argument) << FD;
Diag(CallLoc, diag::note_recursive_default_argument_used_here);
Param->setInvalidDecl();
return true;
}
Diag(CallLoc, diag::err_use_of_default_argument_to_function_declared_later)
<< FD << cast<CXXRecordDecl>(FD->getDeclContext());
Diag(UnparsedDefaultArgLocs[Param], // <------------------------- second
lookup
diag::note_default_argument_declared_here);
return true;
}
```
https://github.com/llvm/llvm-project/pull/125420
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits