[llvm] [GlobalISel] Add a shared matcher for memcpy-family instructions (NFC) (PR #201766)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 8 01:04:00 PDT 2026


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `sanitizer-x86_64-linux-fast` running on `sanitizer-buildbot3` while building `llvm` at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/169/builds/23422

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
-- Testing: 99590 of 100161 tests, 64 workers --
Testing:  0.. 10.. 20.. 
FAIL: LLVM :: CodeGen/AArch64/aarch64-mops.ll (30061 of 99590)
******************** TEST 'LLVM :: CodeGen/AArch64/aarch64-mops.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llc /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/AArch64/aarch64-mops.ll -o - -mtriple=aarch64 -O0 -global-isel=1 -global-isel-abort=1                    | /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/AArch64/aarch64-mops.ll --check-prefixes=GISel-WITHOUT-MOPS,GISel-WITHOUT-MOPS-O0
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llc /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/AArch64/aarch64-mops.ll -o - -mtriple=aarch64 -O0 -global-isel=1 -global-isel-abort=1
# .---command stderr------------
# | 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: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llc /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/AArch64/aarch64-mops.ll -o - -mtriple=aarch64 -O0 -global-isel=1 -global-isel-abort=1
# | 1.	Running pass 'Function Pass Manager' on module '/home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/AArch64/aarch64-mops.ll'.
# | 2.	Running pass 'AArch64O0PreLegalizerCombiner' on function '@memmove_0'
# |  #0 0x00005649c236bb76 ___interceptor_backtrace /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4556:13
# |  #1 0x00005649cb8ce254 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:885:8
# |  #2 0x00005649cb8c8b67 llvm::sys::RunSignalHandlers() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Signals.cpp:0:5
# |  #3 0x00005649cb8d06b7 SignalHandler(int, siginfo_t*, void*) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:448:38
# |  #4 0x0000763e7a247e10 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x47e10)
# |  #5 0x0000763e7a2ae3ec pthread_kill (/usr/lib/x86_64-linux-gnu/libc.so.6+0xae3ec)
# |  #6 0x0000763e7a247cde raise (/usr/lib/x86_64-linux-gnu/libc.so.6+0x47cde)
# |  #7 0x0000763e7a2288ec abort (/usr/lib/x86_64-linux-gnu/libc.so.6+0x288ec)
# |  #8 0x00005649c23ef35c (/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llc+0xc89e35c)
# |  #9 0x00005649c23ed1ee __sanitizer::Die() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_termination.cpp:52:5
# | #10 0x00005649c24081a9 (/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llc+0xc8b71a9)
# | #11 0x00005649ccd0895b llvm::LegalizerHelper::lowerMemCpyFamily(llvm::MachineInstr&, unsigned int) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp:11046:40
# | #12 0x00005649ccafab48 llvm::CombinerHelper::tryCombineMemCpyFamily(llvm::MachineInstr&, unsigned int) const /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:0:17
# | #13 0x00005649c2fd2d00 (anonymous namespace)::AArch64O0PreLegalizerCombinerImpl::tryCombineAll(llvm::MachineInstr&) const /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp:105:16
# | #14 0x00005649ccad846a llvm::Combiner::combineMachineInstrs() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/GlobalISel/Combiner.cpp:311:29
# | #15 0x00005649c2fcedab (anonymous namespace)::runCombiner(llvm::MachineFunction&, llvm::LibcallLoweringInfo const&, AArch64O0PreLegalizerCombinerImplRuleConfig const&) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp:133:15
# | #16 0x00005649c825f176 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:0:10
# | #17 0x00005649c92c3453 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:0:27
# | #18 0x00005649c92d844f getNext /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist_node_base.h:42:38
# | #19 0x00005649c92d844f getNext /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist_node.h:108:59
# | #20 0x00005649c92d844f operator++ /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:187:57
# | #21 0x00005649c92d844f llvm::FPPassManager::runOnModule(llvm::Module&) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1435:20
# | #22 0x00005649c92c4dea runOnModule /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:0:27
# | #23 0x00005649c92c4dea llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:531:44
Step 11 (stage2/asan_ubsan check) failure: stage2/asan_ubsan check (failure)
...
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:569: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
-- Testing: 99590 of 100161 tests, 64 workers --
Testing:  0.. 10.. 20.. 
FAIL: LLVM :: CodeGen/AArch64/aarch64-mops.ll (30061 of 99590)
******************** TEST 'LLVM :: CodeGen/AArch64/aarch64-mops.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llc /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/AArch64/aarch64-mops.ll -o - -mtriple=aarch64 -O0 -global-isel=1 -global-isel-abort=1                    | /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/AArch64/aarch64-mops.ll --check-prefixes=GISel-WITHOUT-MOPS,GISel-WITHOUT-MOPS-O0
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llc /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/AArch64/aarch64-mops.ll -o - -mtriple=aarch64 -O0 -global-isel=1 -global-isel-abort=1
# .---command stderr------------
# | 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: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llc /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/AArch64/aarch64-mops.ll -o - -mtriple=aarch64 -O0 -global-isel=1 -global-isel-abort=1
# | 1.	Running pass 'Function Pass Manager' on module '/home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/CodeGen/AArch64/aarch64-mops.ll'.
# | 2.	Running pass 'AArch64O0PreLegalizerCombiner' on function '@memmove_0'
# |  #0 0x00005649c236bb76 ___interceptor_backtrace /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4556:13
# |  #1 0x00005649cb8ce254 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:885:8
# |  #2 0x00005649cb8c8b67 llvm::sys::RunSignalHandlers() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Signals.cpp:0:5
# |  #3 0x00005649cb8d06b7 SignalHandler(int, siginfo_t*, void*) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Support/Unix/Signals.inc:448:38
# |  #4 0x0000763e7a247e10 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x47e10)
# |  #5 0x0000763e7a2ae3ec pthread_kill (/usr/lib/x86_64-linux-gnu/libc.so.6+0xae3ec)
# |  #6 0x0000763e7a247cde raise (/usr/lib/x86_64-linux-gnu/libc.so.6+0x47cde)
# |  #7 0x0000763e7a2288ec abort (/usr/lib/x86_64-linux-gnu/libc.so.6+0x288ec)
# |  #8 0x00005649c23ef35c (/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llc+0xc89e35c)
# |  #9 0x00005649c23ed1ee __sanitizer::Die() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_termination.cpp:52:5
# | #10 0x00005649c24081a9 (/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llc+0xc8b71a9)
# | #11 0x00005649ccd0895b llvm::LegalizerHelper::lowerMemCpyFamily(llvm::MachineInstr&, unsigned int) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp:11046:40
# | #12 0x00005649ccafab48 llvm::CombinerHelper::tryCombineMemCpyFamily(llvm::MachineInstr&, unsigned int) const /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:0:17
# | #13 0x00005649c2fd2d00 (anonymous namespace)::AArch64O0PreLegalizerCombinerImpl::tryCombineAll(llvm::MachineInstr&) const /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp:105:16
# | #14 0x00005649ccad846a llvm::Combiner::combineMachineInstrs() /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/GlobalISel/Combiner.cpp:311:29
# | #15 0x00005649c2fcedab (anonymous namespace)::runCombiner(llvm::MachineFunction&, llvm::LibcallLoweringInfo const&, AArch64O0PreLegalizerCombinerImplRuleConfig const&) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp:133:15
# | #16 0x00005649c825f176 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:0:10
# | #17 0x00005649c92c3453 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:0:27
# | #18 0x00005649c92d844f getNext /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist_node_base.h:42:38
# | #19 0x00005649c92d844f getNext /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist_node.h:108:59
# | #20 0x00005649c92d844f operator++ /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:187:57
# | #21 0x00005649c92d844f llvm::FPPassManager::runOnModule(llvm::Module&) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1435:20
# | #22 0x00005649c92c4dea runOnModule /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:0:27
# | #23 0x00005649c92c4dea llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:531:44

```

</details>

https://github.com/llvm/llvm-project/pull/201766


More information about the llvm-commits mailing list