[all-commits] [llvm/llvm-project] 8b26c0: [LoongArch] Align stack objects passed to memory i...

hev via All-commits all-commits at lists.llvm.org
Thu Aug 1 20:28:25 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8b26c02caaa002edc2d70af9e6a8024c4b1343cf
      https://github.com/llvm/llvm-project/commit/8b26c02caaa002edc2d70af9e6a8024c4b1343cf
  Author: hev <wangrui at loongson.cn>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/test/CodeGen/LoongArch/unaligned-memcpy-inline.ll

  Log Message:
  -----------
  [LoongArch] Align stack objects passed to memory intrinsics (#101309)

Memcpy, and other memory intrinsics, typically try to use wider
load/store if the source and destination addresses are aligned. In
CodeGenPrepare, look for calls to memory intrinsics and, if the object
is on the stack, align it to 4-byte (32-bit) or 8-byte (64-bit)
boundaries if it is large enough that we expect memcpy to use wider
load/store instructions to copy it.

Fixes #101295



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list