[llvm-branch-commits] [clang-tools-extra] f6af957 - [clangd] Block clang-tidy misc-const-correctness check

Tobias Hieta via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Oct 17 23:30:15 PDT 2022


Author: Sam McCall
Date: 2022-10-18T08:29:39+02:00
New Revision: f6af95770615c2218084c82c62c10459feebbfbf

URL: https://github.com/llvm/llvm-project/commit/f6af95770615c2218084c82c62c10459feebbfbf
DIFF: https://github.com/llvm/llvm-project/commit/f6af95770615c2218084c82c62c10459feebbfbf.diff

LOG: [clangd] Block clang-tidy misc-const-correctness check

This check performs an extremely large amount of work (for each variable, it
runs very many full matcher-driven traversals of the whole scope the variable
is defined in).

When (inadvertently) enabled for Fuchsia, it regressed BuildAST times by >10x
(400ms -> 7s on my machine).

Differential Revision: https://reviews.llvm.org/D135829

(cherry picked from commit e78165f0ba1e2fbf72b36a36c8560645b69a168a)

Added: 
    

Modified: 
    clang-tools-extra/clangd/TidyProvider.cpp

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clangd/TidyProvider.cpp b/clang-tools-extra/clangd/TidyProvider.cpp
index 32a4d6a306536..a0a37e86ba010 100644
--- a/clang-tools-extra/clangd/TidyProvider.cpp
+++ b/clang-tools-extra/clangd/TidyProvider.cpp
@@ -212,8 +212,14 @@ TidyProvider disableUnusableChecks(llvm::ArrayRef<std::string> ExtraBadChecks) {
                        // code, which is often the case when clangd
                        // tries to build an AST.
                        "-bugprone-use-after-move",
-                       // Alias for bugprone-use-after-moe.
-                       "-hicpp-invalid-access-moved");
+                       // Alias for bugprone-use-after-move.
+                       "-hicpp-invalid-access-moved",
+
+                       // ----- Performance problems -----
+
+                       // This check runs expensive analysis for each variable.
+                       // It has been observed to increase reparse time by 10x.
+                       "-misc-const-correctness");
 
   size_t Size = BadChecks.size();
   for (const std::string &Str : ExtraBadChecks) {


        


More information about the llvm-branch-commits mailing list