[PATCH] D54943: [clang-tidy] implement new check 'misc-const-correctness' to add 'const' to unmodified variables

Sam McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 14 12:40:00 PDT 2022


sammccall added a comment.

In D54943#3854279 <https://reviews.llvm.org/D54943#3854279>, @sammccall wrote:

> FYI I've sent D135829 <https://reviews.llvm.org/D135829> to block this check from running in clangd, after tracking it down as the cause of a >10x regression in reparse times in a project that inadvertently enabled it (`misc-*`).
>
> Looking at the implementation, this check seems to be expensive by design rather than some bug: it's matching many nodes, and then doing expensive nested analysis for each in the callback.
>
> It's reasonable to want checks like that, OTOH it would be nice to have some way to distinguish them from the "classic" checks that aim to run in roughly linear time.
> (It's not just clangd: we've had issues with a batch clang-tidy run over our codebase not finishing due to slow checks, and takes a lot of investigation before you can tell if this is a bug or not)

To quantify this: wanting to be a bit more systematic, I measured the performance overhead of each check in clangd by having it parse `SemaExpr.cpp` with 0 checks and then each check in isolation.

This check added 1600% overhead, the next highest had <30%.

Unfortunately the detailed numbers aren't reliable as it looks like some kind of throttling kicked in towards the end, but here they are anyway...

  I[14:53:46.703] Built preamble of size 53505060 for file /usr/local/google/home/sammccall/src/llvm-project/clang/lib/Sema/SemaExpr.cpp version null in 5.70 seconds
  I[14:53:46.708] Building AST...
  I[14:53:48.945] Indexing AST...
  I[14:53:49.049] Timing AST build with individual clang-tidy checks
  I[14:53:54.958]   Baseline = 1968848738 ns
  I[14:54:00.873]   abseil-cleanup-ctad = 0.16%
  I[14:54:06.707]   abseil-duration-addition = -1.45%
  I[14:54:12.527]   abseil-duration-comparison = -1.69%
  I[14:54:18.422]   abseil-duration-conversion-cast = -0.32%
  I[14:54:24.281]   abseil-duration-division = -0.93%
  I[14:54:30.186]   abseil-duration-factory-float = -0.06%
  I[14:54:36.107]   abseil-duration-factory-scale = 0.15%
  I[14:54:42.344]   abseil-duration-subtraction = 5.31%
  I[14:54:48.646]   abseil-duration-unnecessary-conversion = 4.86%
  I[14:54:54.617]   abseil-faster-strsplit-delimiter = 0.77%
  I[14:55:00.460]   abseil-no-internal-dependencies = -1.21%
  I[14:55:06.280]   abseil-no-namespace = -1.61%
  I[14:55:12.221]   abseil-redundant-strcat-calls = 0.04%
  I[14:55:18.138]   abseil-str-cat-append = 0.05%
  I[14:55:23.972]   abseil-string-find-startswith = -1.23%
  I[14:55:29.847]   abseil-string-find-str-contains = -0.47%
  I[14:55:35.676]   abseil-time-comparison = -1.49%
  I[14:55:41.798]   abseil-time-subtraction = 3.43%
  I[14:55:47.911]   abseil-upgrade-duration-conversions = 3.52%
  I[14:55:55.547]   altera-id-dependent-backward-branch = 29.26%
  I[14:56:01.362]   altera-kernel-name-restriction = -1.51%
  I[14:56:07.195]   altera-single-work-item-barrier = -1.38%
  I[14:56:13.013]   altera-struct-pack-align = -1.60%
  I[14:56:19.057]   altera-unroll-loops = 2.21%
  I[14:56:24.935]   android-cloexec-accept = -0.85%
  I[14:56:30.802]   android-cloexec-accept4 = -0.61%
  I[14:56:36.663]   android-cloexec-creat = -0.77%
  I[14:56:42.556]   android-cloexec-dup = -0.19%
  I[14:56:48.498]   android-cloexec-epoll-create = 0.49%
  I[14:56:54.439]   android-cloexec-epoll-create1 = 0.38%
  I[14:57:00.388]   android-cloexec-fopen = 0.67%
  I[14:57:06.329]   android-cloexec-inotify-init = 0.56%
  I[14:57:12.280]   android-cloexec-inotify-init1 = 0.25%
  I[14:57:18.201]   android-cloexec-memfd-create = 0.14%
  I[14:57:24.180]   android-cloexec-open = 1.10%
  I[14:57:30.128]   android-cloexec-pipe = 0.33%
  I[14:57:36.072]   android-cloexec-pipe2 = 0.48%
  I[14:57:41.991]   android-cloexec-socket = 0.11%
  I[14:57:47.902]   android-comparison-in-temp-failure-retry = -0.11%
  I[14:57:53.827]   boost-use-to-string = 0.23%
  I[14:57:59.841]   bugprone-argument-comment = 1.73%
  I[14:58:05.870]   bugprone-assert-side-effect = 1.98%
  I[14:58:11.787]   bugprone-assignment-in-if-condition = -0.06%
  I[14:58:17.759]   bugprone-bad-signal-to-kill-thread = 0.88%
  I[14:58:23.800]   bugprone-bool-pointer-implicit-conversion = 2.28%
  I[14:58:29.827]   bugprone-branch-clone = 1.85%
  I[14:58:35.748]   bugprone-copy-constructor-init = 0.11%
  I[14:58:41.752]   bugprone-dangling-handle = 1.61%
  I[14:58:47.659]   bugprone-dynamic-static-initializers = -0.13%
  I[14:58:53.849]   bugprone-easily-swappable-parameters = 4.48%
  I[14:58:59.756]   bugprone-exception-escape = -0.15%
  I[14:59:05.881]   bugprone-fold-init-type = 3.61%
  I[14:59:11.851]   bugprone-forward-declaration-namespace = 1.15%
  I[14:59:17.776]   bugprone-forwarding-reference-overload = 0.18%
  I[14:59:24.046]   bugprone-implicit-widening-of-multiplication-result = 6.05%
  I[14:59:29.984]   bugprone-inaccurate-erase = 0.46%
  I[14:59:35.922]   bugprone-incorrect-roundings = 0.42%
  I[14:59:42.053]   bugprone-infinite-loop = 3.53%
  I[14:59:47.972]   bugprone-integer-division = 0.07%
  I[14:59:53.980]   bugprone-lambda-function-name = 1.90%
  I[14:59:59.896]   bugprone-macro-parentheses = -0.14%
  I[15:00:05.809]   bugprone-macro-repeated-side-effects = -0.14%
  I[15:00:11.849]   bugprone-misplaced-operator-in-strlen-in-alloc = 2.08%
  I[15:00:17.760]   bugprone-misplaced-pointer-arithmetic-in-alloc = -0.07%
  I[15:00:23.719]   bugprone-misplaced-widening-cast = 0.78%
  I[15:00:29.638]   bugprone-move-forwarding-reference = 0.11%
  I[15:00:35.721]   bugprone-multiple-statement-macro = 2.92%
  I[15:00:41.793]   bugprone-narrowing-conversions = 2.74%
  I[15:00:47.723]   bugprone-no-escape = 0.17%
  I[15:00:54.142]   bugprone-not-null-terminated-result = 8.33%
  I[15:01:00.152]   bugprone-parent-virtual-call = 1.57%
  I[15:01:06.077]   bugprone-posix-return = 0.19%
  I[15:01:11.943]   bugprone-redundant-branch-condition = -0.80%
  I[15:01:18.014]   bugprone-reserved-identifier = 2.77%
  I[15:01:23.873]   bugprone-shared-ptr-array-mismatch = -0.81%
  I[15:01:29.728]   bugprone-signal-handler = -1.62%
  I[15:01:35.608]   bugprone-signed-char-misuse = -0.55%
  I[15:01:41.477]   bugprone-sizeof-container = -0.74%
  I[15:01:47.433]   bugprone-sizeof-expression = 0.77%
  I[15:01:53.557]   bugprone-spuriously-wake-up-functions = 3.48%
  I[15:01:59.452]   bugprone-string-constructor = -0.50%
  I[15:02:05.316]   bugprone-string-integer-assignment = -0.90%
  I[15:02:11.184]   bugprone-string-literal-with-embedded-nul = -0.65%
  I[15:02:17.286]   bugprone-stringview-nullptr = 3.27%
  I[15:02:23.129]   bugprone-suspicious-enum-usage = -1.21%
  I[15:02:28.970]   bugprone-suspicious-include = -1.22%
  I[15:02:34.921]   bugprone-suspicious-memory-comparison = 0.74%
  I[15:02:40.972]   bugprone-suspicious-memset-usage = 2.39%
  I[15:02:46.816]   bugprone-suspicious-missing-comma = -1.37%
  I[15:02:52.638]   bugprone-suspicious-realloc-usage = -1.58%
  I[15:02:58.624]   bugprone-suspicious-semicolon = 1.01%
  I[15:03:04.720]   bugprone-suspicious-string-compare = 3.07%
  I[15:03:10.584]   bugprone-swapped-arguments = -0.95%
  I[15:03:16.537]   bugprone-terminating-continue = 0.57%
  I[15:03:22.416]   bugprone-throw-keyword-missing = -0.45%
  I[15:03:28.288]   bugprone-too-small-loop-variable = -0.99%
  I[15:03:34.217]   bugprone-unchecked-optional-access = 0.19%
  I[15:03:40.179]   bugprone-undefined-memory-manipulation = 0.95%
  I[15:03:46.123]   bugprone-undelegated-constructor = 0.50%
  I[15:03:51.955]   bugprone-unhandled-exception-at-new = -1.36%
  I[15:03:57.833]   bugprone-unhandled-self-assignment = -0.68%
  I[15:04:03.855]   bugprone-unused-raii = 1.75%
  I[15:04:09.925]   bugprone-unused-return-value = 2.59%
  I[15:04:16.410]   bugprone-use-after-move = 9.53%
  I[15:04:22.345]   bugprone-virtual-near-miss = 0.41%
  I[15:04:28.518]   cert-con36-c = 3.37%
  I[15:04:34.631]   cert-con54-cpp = 3.24%
  I[15:04:40.624]   cert-dcl03-c = 1.32%
  I[15:04:46.722]   cert-dcl16-c = 3.02%
  I[15:04:52.583]   cert-dcl21-cpp = -1.00%
  I[15:04:58.671]   cert-dcl37-c = 3.26%
  I[15:05:04.517]   cert-dcl50-cpp = -1.29%
  I[15:05:10.595]   cert-dcl51-cpp = 2.76%
  I[15:05:16.415]   cert-dcl54-cpp = -1.54%
  I[15:05:22.273]   cert-dcl58-cpp = -0.83%
  I[15:05:28.121]   cert-dcl59-cpp = -1.09%
  I[15:05:34.035]   cert-env33-c = 0.20%
  I[15:05:39.921]   cert-err09-cpp = -0.64%
  I[15:05:46.038]   cert-err33-c = 3.53%
  I[15:05:51.971]   cert-err34-c = 0.20%
  I[15:05:57.935]   cert-err52-cpp = 1.09%
  I[15:06:03.781]   cert-err58-cpp = -1.11%
  I[15:06:09.710]   cert-err60-cpp = 0.42%
  I[15:06:15.689]   cert-err61-cpp = 1.16%
  I[15:06:21.769]   cert-exp42-c = 2.86%
  I[15:06:27.781]   cert-fio38-c = 1.71%
  I[15:06:33.780]   cert-flp30-c = 1.39%
  I[15:06:39.859]   cert-flp37-c = 2.86%
  I[15:06:45.827]   cert-mem57-cpp = 0.93%
  I[15:06:51.845]   cert-msc30-c = 1.59%
  I[15:06:57.956]   cert-msc32-c = 3.32%
  I[15:07:03.990]   cert-msc50-cpp = 2.06%
  I[15:07:10.077]   cert-msc51-cpp = 2.83%
  I[15:07:16.002]   cert-msc54-cpp = 0.17%
  I[15:07:21.984]   cert-oop11-cpp = 1.25%
  I[15:07:27.964]   cert-oop54-cpp = 1.14%
  I[15:07:34.096]   cert-oop57-cpp = 3.71%
  I[15:07:40.056]   cert-oop58-cpp = 0.77%
  I[15:07:46.069]   cert-pos44-c = 1.75%
  I[15:07:52.088]   cert-pos47-c = 1.69%
  I[15:07:58.084]   cert-sig30-c = 1.25%
  I[15:08:04.044]   cert-str34-c = 0.76%
  I[15:08:10.870]   concurrency-mt-unsafe = 15.72%
  I[15:08:16.897]   concurrency-thread-canceltype-asynchronous = 1.95%
  I[15:08:22.952]   cppcoreguidelines-avoid-c-arrays = 2.35%
  I[15:08:28.912]   cppcoreguidelines-avoid-const-or-ref-data-members = 0.72%
  I[15:08:34.871]   cppcoreguidelines-avoid-do-while = 0.79%
  I[15:08:40.889]   cppcoreguidelines-avoid-goto = 1.90%
  I[15:08:46.949]   cppcoreguidelines-avoid-magic-numbers = 2.41%
  I[15:08:52.913]   cppcoreguidelines-avoid-non-const-global-variables = 0.83%
  I[15:08:58.996]   cppcoreguidelines-c-copy-assignment-signature = 3.04%
  I[15:09:04.961]   cppcoreguidelines-explicit-virtual-functions = 0.96%
  I[15:09:11.048]   cppcoreguidelines-init-variables = 3.01%
  I[15:09:17.007]   cppcoreguidelines-interfaces-global-init = 0.70%
  I[15:09:23.009]   cppcoreguidelines-macro-usage = 1.53%
  I[15:09:29.126]   cppcoreguidelines-narrowing-conversions = 3.59%
  I[15:09:35.228]   cppcoreguidelines-no-malloc = 3.36%
  I[15:09:41.192]   cppcoreguidelines-non-private-member-variables-in-classes = 0.78%
  I[15:09:47.503]   cppcoreguidelines-owning-memory = 6.59%
  I[15:09:53.591]   cppcoreguidelines-prefer-member-initializer = 2.34%
  I[15:10:00.060]   cppcoreguidelines-pro-bounds-array-to-pointer-decay = 9.07%
  I[15:10:06.096]   cppcoreguidelines-pro-bounds-constant-array-index = 2.29%
  I[15:10:12.050]   cppcoreguidelines-pro-bounds-pointer-arithmetic = 0.73%
  I[15:10:18.007]   cppcoreguidelines-pro-type-const-cast = 0.80%
  I[15:10:24.057]   cppcoreguidelines-pro-type-cstyle-cast = 2.29%
  I[15:10:30.115]   cppcoreguidelines-pro-type-member-init = 2.41%
  I[15:10:36.067]   cppcoreguidelines-pro-type-reinterpret-cast = 0.64%
  I[15:10:42.112]   cppcoreguidelines-pro-type-static-cast-downcast = 1.88%
  I[15:10:48.093]   cppcoreguidelines-pro-type-union-access = 1.14%
  I[15:10:54.092]   cppcoreguidelines-pro-type-vararg = 1.31%
  I[15:11:00.273]   cppcoreguidelines-slicing = 4.66%
  I[15:11:06.235]   cppcoreguidelines-special-member-functions = 0.68%
  I[15:11:12.207]   cppcoreguidelines-virtual-class-destructor = 1.03%
  I[15:11:18.242]   darwin-avoid-spinlock = 2.00%
  I[15:11:24.189]   darwin-dispatch-once-nonstatic = 0.51%
  I[15:11:30.167]   fuchsia-default-arguments-calls = 1.33%
  I[15:11:36.106]   fuchsia-default-arguments-declarations = 0.43%
  I[15:11:42.022]   fuchsia-header-anon-namespaces = 0.21%
  I[15:11:47.980]   fuchsia-multiple-inheritance = 0.91%
  I[15:11:53.934]   fuchsia-overloaded-operator = 0.70%
  I[15:11:59.892]   fuchsia-statically-constructed-objects = 0.56%
  I[15:12:05.919]   fuchsia-trailing-return = 1.92%
  I[15:12:11.864]   fuchsia-virtual-inheritance = 0.55%
  I[15:12:18.022]   google-build-explicit-make-pair = 4.03%
  I[15:12:23.980]   google-build-namespaces = 0.76%
  I[15:12:29.939]   google-build-using-namespace = 0.73%
  I[15:12:35.903]   google-default-arguments = 0.96%
  I[15:12:41.914]   google-explicit-constructor = 1.65%
  I[15:12:47.887]   google-global-names-in-headers = 0.95%
  I[15:12:53.835]   google-objc-avoid-nsobject-new = 0.44%
  I[15:12:59.781]   google-objc-avoid-throwing-exception = 0.49%
  I[15:13:05.739]   google-objc-function-naming = 0.72%
  I[15:13:11.690]   google-objc-global-variable-declaration = 0.76%
  I[15:13:17.658]   google-readability-avoid-underscore-in-googletest-name = 0.83%
  I[15:13:23.663]   google-readability-braces-around-statements = 1.32%
  I[15:13:29.711]   google-readability-casting = 2.32%
  I[15:13:35.758]   google-readability-function-size = 2.29%
  I[15:13:41.719]   google-readability-namespace-comments = 0.78%
  I[15:13:47.679]   google-readability-todo = 0.60%
  I[15:13:53.669]   google-runtime-int = 1.72%
  I[15:13:59.520]   google-runtime-operator = -0.82%
  I[15:14:05.676]   google-upgrade-googletest-case = 4.10%
  I[15:14:11.587]   hicpp-avoid-c-arrays = -0.16%
  I[15:14:17.513]   hicpp-avoid-goto = 0.19%
  I[15:14:23.400]   hicpp-braces-around-statements = -0.49%
  I[15:14:29.237]   hicpp-deprecated-headers = -1.44%
  I[15:14:35.076]   hicpp-exception-baseclass = -1.18%
  I[15:14:41.036]   hicpp-explicit-conversions = 0.94%
  I[15:14:47.058]   hicpp-function-size = 1.90%
  I[15:14:53.634]   hicpp-invalid-access-moved = 11.37%
  I[15:14:59.670]   hicpp-member-init = 1.99%
  I[15:15:05.802]   hicpp-move-const-arg = 3.62%
  I[15:15:11.718]   hicpp-multiway-paths-covered = 0.08%
  I[15:15:17.653]   hicpp-named-parameter = 0.48%
  I[15:15:23.618]   hicpp-new-delete-operators = 0.86%
  I[15:15:30.027]   hicpp-no-array-decay = 8.34%
  I[15:15:35.953]   hicpp-no-assembler = 0.30%
  I[15:15:42.011]   hicpp-no-malloc = 2.68%
  I[15:15:47.936]   hicpp-noexcept-move = 0.38%
  I[15:15:53.877]   hicpp-signed-bitwise = 0.70%
  I[15:15:59.810]   hicpp-special-member-functions = 0.59%
  I[15:16:05.912]   hicpp-static-assert = 3.17%
  I[15:16:11.907]   hicpp-undelegated-constructor = 1.37%
  I[15:16:18.067]   hicpp-uppercase-literal-suffix = 4.34%
  I[15:16:24.067]   hicpp-use-auto = 1.45%
  I[15:16:30.259]   hicpp-use-emplace = 4.81%
  I[15:16:36.259]   hicpp-use-equals-default = 1.45%
  I[15:16:42.178]   hicpp-use-equals-delete = 0.14%
  I[15:16:48.092]   hicpp-use-noexcept = -0.07%
  I[15:16:54.148]   hicpp-use-nullptr = 2.27%
  I[15:17:00.092]   hicpp-use-override = 0.52%
  I[15:17:06.064]   hicpp-vararg = 1.01%
  I[15:17:12.164]   linuxkernel-must-check-errs = 3.20%
  I[15:17:18.158]   llvm-else-after-return = 1.68%
  I[15:17:24.094]   llvm-header-guard = 0.52%
  I[15:17:29.968]   llvm-include-order = -0.16%
  I[15:17:35.809]   llvm-namespace-comment = -1.05%
  I[15:17:41.799]   llvm-prefer-isa-or-dyn-cast-in-conditionals = 1.33%
  I[15:17:47.642]   llvm-prefer-register-over-unsigned = -1.30%
  I[15:17:53.578]   llvm-qualified-auto = 0.38%
  I[15:17:59.450]   llvm-twine-local = -0.74%
  I[15:18:05.442]   llvmlibc-callee-namespace = 1.33%
  I[15:18:11.395]   llvmlibc-implementation-in-namespace = 0.96%
  I[15:18:17.250]   llvmlibc-restrict-system-libc-headers = -0.91%
  I[15:18:23.136]   misc-confusable-identifiers = -0.39%
  I[15:20:04.112]   misc-const-correctness = 1609.95%
  I[15:20:10.079]   misc-definitions-in-headers = 0.88%
  I[15:20:16.024]   misc-misleading-bidirectional = 0.72%
  I[15:20:21.992]   misc-misleading-identifier = 0.88%
  I[15:20:27.944]   misc-misplaced-const = 0.60%
  I[15:20:33.888]   misc-new-delete-overloads = 0.56%
  I[15:20:39.933]   misc-no-recursion = 1.85%
  I[15:20:45.844]   misc-non-copyable-objects = -0.14%
  I[15:20:51.786]   misc-non-private-member-variables-in-classes = 0.59%
  I[15:20:57.895]   misc-redundant-expression = 3.19%
  I[15:21:03.999]   misc-static-assert = 3.17%
  I[15:21:09.943]   misc-throw-by-value-catch-by-reference = 0.71%
  I[15:21:15.966]   misc-unconventional-assign-operator = 1.86%
  I[15:21:21.954]   misc-uniqueptr-reset-release = 1.36%
  I[15:21:27.892]   misc-unused-alias-decls = 0.58%
  I[15:21:33.825]   misc-unused-parameters = 0.41%
  I[15:21:39.783]   misc-unused-using-decls = 0.77%
  I[15:21:45.757]   modernize-avoid-bind = 1.12%
  I[15:21:51.786]   modernize-avoid-c-arrays = 1.95%
  I[15:21:57.694]   modernize-concat-nested-namespaces = -0.29%
  I[15:22:03.548]   modernize-deprecated-headers = -0.92%
  I[15:22:09.452]   modernize-deprecated-ios-base-aliases = -0.01%
  I[15:22:15.479]   modernize-loop-convert = 2.01%
  I[15:22:21.410]   modernize-macro-to-enum = 0.28%
  I[15:22:27.297]   modernize-make-shared = -0.39%
  I[15:22:33.163]   modernize-make-unique = -0.64%
  I[15:22:39.015]   modernize-pass-by-value = -1.22%
  I[15:22:44.959]   modernize-raw-string-literal = 0.56%
  I[15:22:50.901]   modernize-redundant-void-arg = 0.40%
  I[15:22:56.817]   modernize-replace-auto-ptr = 0.35%
  I[15:23:02.697]   modernize-replace-disallow-copy-and-assign-macro = -0.38%
  I[15:23:08.621]   modernize-replace-random-shuffle = 0.08%
  I[15:23:14.599]   modernize-return-braced-init-list = 1.19%
  I[15:23:20.493]   modernize-shrink-to-fit = -0.36%
  I[15:23:26.337]   modernize-unary-static-assert = -1.23%
  I[15:23:32.239]   modernize-use-auto = -0.17%
  I[15:23:38.260]   modernize-use-bool-literals = 1.78%
  I[15:23:44.142]   modernize-use-default-member-init = -0.50%
  I[15:23:50.232]   modernize-use-emplace = 2.78%
  I[15:23:56.190]   modernize-use-equals-default = 0.64%
  I[15:24:02.048]   modernize-use-equals-delete = -0.98%
  I[15:24:07.905]   modernize-use-nodiscard = -1.01%
  I[15:24:13.802]   modernize-use-noexcept = -0.28%
  I[15:24:19.805]   modernize-use-nullptr = 1.74%
  I[15:24:25.658]   modernize-use-override = -0.99%
  I[15:24:31.529]   modernize-use-trailing-return-type = -0.55%
  I[15:24:37.430]   modernize-use-transparent-functors = -0.01%
  I[15:24:43.380]   modernize-use-uncaught-exceptions = 0.64%
  I[15:24:49.327]   modernize-use-using = 0.50%
  I[15:24:55.208]   objc-assert-equals = -1.02%
  I[15:25:01.027]   objc-avoid-nserror-init = -1.76%
  I[15:25:06.837]   objc-dealloc-in-category = -1.88%
  I[15:25:12.695]   objc-forbidden-subclassing = -0.81%
  I[15:25:18.502]   objc-missing-hash = -1.62%
  I[15:25:24.328]   objc-nsdate-formatter = -1.46%
  I[15:25:30.161]   objc-nsinvocation-argument-lifetime = -1.34%
  I[15:25:35.988]   objc-property-declaration = -1.43%
  I[15:25:41.790]   objc-super-self = -1.94%
  I[15:25:47.602]   openmp-exception-escape = -1.76%
  I[15:25:53.433]   openmp-use-default-none = -1.36%
  I[15:25:59.359]   performance-faster-string-find = -0.12%
  I[15:26:05.195]   performance-for-range-copy = -1.31%
  I[15:26:11.018]   performance-implicit-conversion-in-loop = -1.48%
  I[15:26:16.917]   performance-inefficient-algorithm = -0.07%
  I[15:26:22.843]   performance-inefficient-string-concatenation = 0.38%
  I[15:26:28.693]   performance-inefficient-vector-operation = -1.03%
  I[15:26:34.693]   performance-move-const-arg = 1.54%
  I[15:26:40.509]   performance-move-constructor-init = -1.56%
  I[15:26:46.339]   performance-no-automatic-move = -1.52%
  I[15:26:52.171]   performance-no-int-to-ptr = -1.28%
  I[15:26:58.034]   performance-noexcept-move-constructor = -0.74%
  I[15:27:03.880]   performance-trivially-destructible = -0.95%
  I[15:27:10.202]   performance-type-promotion-in-math-fn = 7.07%
  I[15:27:16.262]   performance-unnecessary-copy-initialization = 2.65%
  I[15:27:22.114]   performance-unnecessary-value-param = -0.94%
  I[15:27:27.981]   portability-restrict-system-includes = -1.09%
  I[15:27:34.000]   portability-simd-intrinsics = 1.84%
  I[15:27:39.835]   portability-std-allocator-const = -1.29%
  I[15:27:45.667]   readability-avoid-const-params-in-decls = -1.41%
  I[15:27:51.582]   readability-braces-around-statements = 0.19%
  I[15:27:57.475]   readability-const-return-type = -0.61%
  I[15:28:03.314]   readability-container-contains = -1.38%
  I[15:28:09.179]   readability-container-data-pointer = -0.80%
  I[15:28:15.832]   readability-container-size-empty = 12.57%
  I[15:28:21.814]   readability-convert-member-functions-to-static = -1.06%
  
  [it looks like we got somehow throttled from here, as *everything* is ~10% slower]
  
  I[15:28:28.358]   readability-delete-null-pointer = 10.63%
  I[15:28:34.883]   readability-duplicate-include = 10.66%
  I[15:28:41.466]   readability-else-after-return = 11.32%
  I[15:28:48.054]   readability-function-cognitive-complexity = 11.38%
  I[15:28:54.690]   readability-function-size = 12.32%
  I[15:29:01.325]   readability-identifier-length = 12.55%
  I[15:29:08.081]   readability-identifier-naming = 14.38%
  I[15:29:14.875]   readability-implicit-bool-conversion = 14.85%
  I[15:29:21.419]   readability-inconsistent-declaration-parameter-name = 10.82%
  I[15:29:28.028]   readability-isolate-declaration = 11.83%
  I[15:29:34.667]   readability-magic-numbers = 12.21%
  I[15:29:41.272]   readability-make-member-function-const = 11.79%
  I[15:29:47.908]   readability-misleading-indentation = 12.32%
  I[15:29:54.455]   readability-misplaced-array-index = 10.67%
  I[15:30:00.987]   readability-named-parameter = 10.59%
  I[15:30:07.655]   readability-non-const-parameter = 12.98%
  I[15:30:14.270]   readability-qualified-auto = 12.06%
  I[15:30:20.814]   readability-redundant-access-specifiers = 10.62%
  I[15:30:27.458]   readability-redundant-control-flow = 12.43%
  I[15:30:34.063]   readability-redundant-declaration = 11.83%
  I[15:30:40.574]   readability-redundant-function-ptr-dereference = 10.10%
  I[15:30:47.078]   readability-redundant-member-init = 10.08%
  I[15:30:53.562]   readability-redundant-preprocessor = 9.60%
  I[15:31:00.520]   readability-redundant-smartptr-get = 17.26%
  I[15:31:07.190]   readability-redundant-string-cstr = 12.80%
  I[15:31:13.807]   readability-redundant-string-init = 12.20%
  I[15:31:20.418]   readability-simplify-boolean-expr = 11.01%
  I[15:31:26.926]   readability-simplify-subscript-expr = 10.07%
  I[15:31:33.442]   readability-static-accessed-through-instance = 10.18%
  I[15:31:39.969]   readability-static-definition-in-anonymous-namespace = 10.39%
  I[15:31:46.528]   readability-string-compare = 11.01%
  I[15:31:53.143]   readability-suspicious-call-argument = 11.94%
  I[15:31:59.772]   readability-uniqueptr-delete-release = 11.98%
  I[15:32:06.531]   readability-uppercase-literal-suffix = 14.46%
  I[15:32:13.167]   readability-use-anyofallof = 12.40%
  I[15:32:19.781]   zircon-temporary-objects = 12.10%
  I[15:32:26.324]   Final baseline = 2179632621 ns
  E[15:32:26.324] Warning: initial/final baseline differs by >2%, throttling?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D54943/new/

https://reviews.llvm.org/D54943



More information about the cfe-commits mailing list