[all-commits] [llvm/llvm-project] 426358: [AArch64][SVE] Allow accesses to SVE stack objects...

Bradley Smith via All-commits all-commits at lists.llvm.org
Thu Jan 28 04:41:00 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 42635856ed3c9a05957640f9deb50cf865c03825
      https://github.com/llvm/llvm-project/commit/42635856ed3c9a05957640f9deb50cf865c03825
  Author: Bradley Smith <bradley.smith at arm.com>
  Date:   2021-01-28 (Thu, 28 Jan 2021)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/test/CodeGen/AArch64/debug-info-sve-dbg-value.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve.mir
    M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll

  Log Message:
  -----------
  [AArch64][SVE] Allow accesses to SVE stack objects to use frame pointer

The layout of the stack frame for SVE means that using the frame pointer
rather than the stack pointer for an access to an SVE stack object
removes the need for an additional add to jump over the non-SVE objects.

Likewise the opposite is true for non-SVE stack objects.

This patch allows for the former to be done by having HasFP return true
in the presence of both SVE and non-SVE stack objects, and also fixes a
minor issue whereby the later would not be done for certain offsets.




More information about the All-commits mailing list