[llvm] [SystemZ] Avoid unaligned/overlapping accesses with memcpy/memset. (PR #187100)

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 30 10:58:51 PDT 2026


JonPsson1 wrote:

Not quite sure what is needed, please review:

- Setting MaxStoresPerMemmove to 2 makes it use libcalls above 32 bytes. I gues before this limit was much higher (8 stores).

- added check against any unaligned cases, also for memmove (more cases using libcalls, see test:).

- new test memmove-01.ll.

- changed assert for limit to check against ~0U instead, which should also work for memmove even though we don't implement EmitTargetCodeForMemmove(), because then libcall is emitted directly instead in SelectionDAG::getMemmove().


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


More information about the llvm-commits mailing list