[all-commits] [llvm/llvm-project] 67200f: [ARM] Tidy up stack frame strategy code (NFC) (#11...

Oliver Stannard via All-commits all-commits at lists.llvm.org
Wed Oct 9 01:29:54 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 67200f5dc8a662edd05928f97940c2fcabf42043
      https://github.com/llvm/llvm-project/commit/67200f5dc8a662edd05928f97940c2fcabf42043
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-10-09 (Wed, 09 Oct 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.h
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp

  Log Message:
  -----------
  [ARM] Tidy up stack frame strategy code (NFC) (#110283)

We have two different ways of splitting the pushes of callee-saved
registers onto the stack, controlled by the confusingly similar names
STI.splitFramePushPop() and STI.splitFramePointerPush(). This removes
those functions and replaces them with a single function which returns
an enum. This is in preparation for adding another value to that enum.

The original work of this patch was done by James Westwood, reviewed as
 #82801 and #81249, with some tidy-ups done by Mark Murray and myself.


  Commit: 2ecf2e242b5e4c808fc3f6f2230d2f68b9ee1004
      https://github.com/llvm/llvm-project/commit/2ecf2e242b5e4c808fc3f6f2230d2f68b9ee1004
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-10-09 (Wed, 09 Oct 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp

  Log Message:
  -----------
  [ARM] Factor out code to determine spill areas (NFC) (#110283)

There were multiple loops in ARMFrameLowering which sort the callee
saved registers into spill areas, which were hard to understand and
modify. This splits the information about which register is in which
save area into a separate function.


  Commit: e817cfde41e661886538d7991c8fcf4164b98ee3
      https://github.com/llvm/llvm-project/commit/e817cfde41e661886538d7991c8fcf4164b98ee3
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-10-09 (Wed, 09 Oct 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.h

  Log Message:
  -----------
  [ARM] Refactor generation of push/pop instructions (NFC) (#110283)

These used a set of callback functions to check which callee-save area a
register is in, refactor them to use the same data as other parts of
ARMFrameLowering. This will make it easier to add a new variant to the
register splitting.


  Commit: 754c1f21700d7f6df3ee3bf86769c59cce1a6cfd
      https://github.com/llvm/llvm-project/commit/754c1f21700d7f6df3ee3bf86769c59cce1a6cfd
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-10-09 (Wed, 09 Oct 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp

  Log Message:
  -----------
  [ARM] Add debug dump for StackAdjustingInsts (NFC) (#110283)


  Commit: baa1fc9825ca29a81f98146da6036e3415182f16
      https://github.com/llvm/llvm-project/commit/baa1fc9825ca29a81f98146da6036e3415182f16
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-10-09 (Wed, 09 Oct 2024)

  Changed paths:
    M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp

  Log Message:
  -----------
  [ARM] Remove always-true checks from Thumb1 frame lowering (NFC) (#110283)

For Thumb1, we always split the callee-saved register pushes at R7, so
we don't need to check for this.


Compare: https://github.com/llvm/llvm-project/compare/e080be5ac216...baa1fc9825ca

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