[llvm] [ARM] Refactor ARMFrameLowering (NFC) (PR #110283)
Oliver Stannard via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 30 01:34:20 PDT 2024
================
@@ -81,6 +81,32 @@ class ARMSubtarget : public ARMGenSubtargetInfo {
SingleIssuePlusExtras,
};
+ /// How the push and pop instructions of callee saved general-purpose
+ /// registers should be split.
+ enum PushPopSplitVariation {
+ /// All GPRs can be pushed in a single instruction.
+ /// push {r0-r12, lr}
+ /// vpush {d8-d15}
+ NoSplit,
+
+ /// R7 and LR must be adjacent, because R7 is the frame pointer, and must
+ /// point to a frame record consisting of the previous frame pointer and the
+ /// retun address.
+ /// push {r0-r7, lr}
+ /// push {r8-r12}
+ /// vpush {d8-d15}
+ SplitR7,
+
+ /// When the stack frame size if now known (because of variable-sized
----------------
ostannard wrote:
Done
https://github.com/llvm/llvm-project/pull/110283
More information about the llvm-commits
mailing list