[PATCH] D125094: [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records

Lucas Prates via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 13 07:42:29 PDT 2022


pratlucas marked an inline comment as done.
pratlucas added inline comments.


================
Comment at: llvm/lib/Target/ARM/Thumb1FrameLowering.cpp:242
+  // Find last push instruction for GPRCS2 - spilling of high registers
+  // (r8-r11) could consist of multiple tPUSH and tMOVr instructions.
+  while (true) {
----------------
efriedma wrote:
> It seems sort of fragile to assume the entry block doesn't contain any tPUSH instructions; we can use them in places other than the prologue.  Can we use the FrameSetup flag?
This approach is fragile indeed, I guess the fact that high reg spills are less usual has helpep it go unnoticed for so long.
I've added the checks for the FrameSetup flag to make sure it doesn't run over into unrelated instructions.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D125094/new/

https://reviews.llvm.org/D125094



More information about the cfe-commits mailing list