//===-- PerformanceTidyModule.cpp - clang-tidy ----------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "../ClangTidy.h" #include "../ClangTidyModule.h" #include "../ClangTidyModuleRegistry.h" #include "FasterStringFindCheck.h" #include "ForRangeCopyCheck.h" #include "ImplicitConversionInLoopCheck.h" #include "InefficientAlgorithmCheck.h" #include "InefficientStringConcatenationCheck.h" #include "InefficientVectorOperationCheck.h" #include "MoveConstArgCheck.h" #include "MoveConstructorInitCheck.h" #include "NoAutomaticMoveCheck.h" #include "NoIntToPtrCheck.h" #include "NoexceptMoveConstructorCheck.h" #include "TriviallyDestructibleCheck.h" #include "TypePromotionInMathFnCheck.h" #include "UnnecessaryCopyInitialization.h" #include "UnnecessaryValueParamCheck.h" namespace clang { namespace tidy { namespace performance { class PerformanceModule : public ClangTidyModule { public: void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { CheckFactories.registerCheck( "performance-faster-string-find"); CheckFactories.registerCheck( "performance-for-range-copy"); CheckFactories.registerCheck( "performance-implicit-conversion-in-loop"); CheckFactories.registerCheck( "performance-inefficient-algorithm"); CheckFactories.registerCheck( "performance-inefficient-string-concatenation"); CheckFactories.registerCheck( "performance-inefficient-vector-operation"); CheckFactories.registerCheck( "performance-move-const-arg"); CheckFactories.registerCheck( "performance-move-constructor-init"); CheckFactories.registerCheck( "performance-no-automatic-move"); CheckFactories.registerCheck("performance-no-int-to-ptr"); CheckFactories.registerCheck( "performance-noexcept-move-constructor"); CheckFactories.registerCheck( "performance-trivially-destructible"); CheckFactories.registerCheck( "performance-type-promotion-in-math-fn"); CheckFactories.registerCheck( "performance-unnecessary-copy-initialization"); CheckFactories.registerCheck( "performance-unnecessary-value-param"); } }; // Register the PerformanceModule using this statically initialized variable. static ClangTidyModuleRegistry::Add X("performance-module", "Adds performance checks."); } // namespace performance // This anchor is used to force the linker to link in the generated object file // and thus register the PerformanceModule. volatile int PerformanceModuleAnchorSource = 0; } // namespace tidy } // namespace clang