[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