[clang] [clang-tools-extra] [clang-tidy] New performance linter: performance-use-std-move (PR #179467)
Baranov Victor via cfe-commits
cfe-commits at lists.llvm.org
Sat Feb 7 05:40:45 PST 2026
vbvictor wrote:
Run this on `clang/` directory, got a crush on `clang/lib/Driver/ToolChains/BareMetal.cpp`:
```
python3 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py -checks='-*,performance-use-std-move' -p build -hide-progress -quiet -clang-tidy-binary build/bin/clang-tidy clang/lib/Driver/ToolChains/BareMetal.cpp
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0. Program arguments: build/bin/clang-tidy -checks=-*,performance-use-std-move -p=build -quiet /home/victor/repos/addon-llvm/llvm-project/clang/lib/Driver/ToolChains/BareMetal.cpp
1. <eof> parser at end of file
2. ASTMatcher: Processing 'performance-use-std-move' against:
CXXOperatorCallExpr : </home/victor/repos/addon-llvm/llvm-project/clang/lib/Driver/ToolChains/BareMetal.cpp:529:9, col:19>
--- Bound Nodes Begin ---
assign - { CXXOperatorCallExpr : </home/victor/repos/addon-llvm/llvm-project/clang/lib/Driver/ToolChains/BareMetal.cpp:529:9, col:19> }
assign-value - { DeclRefExpr : </home/victor/repos/addon-llvm/llvm-project/clang/lib/Driver/ToolChains/BareMetal.cpp:529:19> }
within-func - { CXXMethodDecl clang::driver::toolchains::BareMetal::AddClangCXXStdlibIncludeArgs : </home/victor/repos/addon-llvm/llvm-project/clang/lib/Driver/ToolChains/BareMetal.cpp:452:1, line:550:1> }
--- Bound Nodes End ---
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 clang-tidy 0x00005615b62dd678 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 40
1 clang-tidy 0x00005615b62dafc5 llvm::sys::RunSignalHandlers() + 293
2 clang-tidy 0x00005615b62de3a1
3 libc.so.6 0x0000729760045f60
4 clang-tidy 0x00005615b70dcd60 clang::tidy::performance::UseStdMoveCheck::check(clang::ast_matchers::MatchFinder::MatchResult const&) + 240
5 clang-tidy 0x00005615b6a4c72b
6 clang-tidy 0x00005615b6a78e7c clang::ast_matchers::internal::BoundNodesTreeBuilder::visitMatches(clang::ast_matchers::internal::BoundNodesTreeBuilder::Visitor*) + 188
7 clang-tidy 0x00005615b6a4c0cc
8 clang-tidy 0x00005615b6a590cb
9 clang-tidy 0x00005615b6a7075a
10 clang-tidy 0x00005615b6a5e4e8
11 clang-tidy 0x00005615b6a590d9
12 clang-tidy 0x00005615b6a5cd1a
13 clang-tidy 0x00005615b6a590d9
14 clang-tidy 0x00005615b6a77933
15 clang-tidy 0x00005615b6a52853
16 clang-tidy 0x00005615b6a4e931
17 clang-tidy 0x00005615b6a4f0cb
18 clang-tidy 0x00005615b6a4e7a9
19 clang-tidy 0x00005615b6a1fb69 clang::ast_matchers::MatchFinder::matchAST(clang::ASTContext&) + 953
20 clang-tidy 0x00005615b7ad463c clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&) + 44
21 clang-tidy 0x00005615b7b07019 clang::ParseAST(clang::Sema&, bool, bool) + 617
22 clang-tidy 0x00005615b7a8cb0d clang::FrontendAction::Execute() + 29
23 clang-tidy 0x00005615b7a02b94 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1044
24 clang-tidy 0x00005615b6b8aeb3 clang::tooling::FrontendActionFactory::runInvocation(std::shared_ptr<clang::CompilerInvocation>, clang::FileManager*, std::shared_ptr<clang::PCHContainerOperations>, clang::DiagnosticConsumer*) + 611
25 clang-tidy 0x00005615b6b9ef5f
26 clang-tidy 0x00005615b6b8ab51 clang::tooling::ToolInvocation::runInvocation(char const*, clang::driver::Compilation*, std::shared_ptr<clang::CompilerInvocation>, std::shared_ptr<clang::PCHContainerOperations>) + 273
27 clang-tidy 0x00005615b6b896b2 clang::tooling::ToolInvocation::run() + 1170
28 clang-tidy 0x00005615b6b8cfb9 clang::tooling::ClangTool::run(clang::tooling::ToolAction*) + 6265
29 clang-tidy 0x00005615b6b99712 clang::tidy::runClangTidy(clang::tidy::ClangTidyContext&, clang::tooling::CompilationDatabase const&, llvm::ArrayRef<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, llvm::IntrusiveRefCntPtr<llvm::vfs::OverlayFileSystem>, bool, bool, llvm::StringRef, bool) + 1202
30 clang-tidy 0x00005615b6bc98ab clang::tidy::clangTidyMain(int, char const**) + 11003
31 libc.so.6 0x000072976002a575
32 libc.so.6 0x000072976002a628 __libc_start_main + 136
33 clang-tidy 0x00005615b60d8005 _start + 37
/home/victor/repos/addon-llvm/llvm-project/clang/lib/Driver/ToolChains/BareMetal.cpp: terminated by signal 11
```
Could you please re-run the check on `clang/`, `llvm/` and if possible on other project that you have at hand to look for FP/crashes.
https://github.com/llvm/llvm-project/pull/179467
More information about the cfe-commits
mailing list