[llvm] [ARM] R11 not pushed adjacent to link register with PAC-M and AAPCS frame chain fix (PR #82801)

Eli Friedman via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 29 14:32:49 PST 2024


================
@@ -150,6 +150,23 @@ class ARMSubtarget : public ARMGenSubtargetInfo {
     SingleIssuePlusExtras,
   };
 
+  /// How the pushing and popping of callee saved registers to and from the
+  /// stack should be split.
+  enum PushPopSplitVariation {
+    /// r4-r11+lr (+r12 if necessary) can be pushed in a single instruction.
+    NoSplit,
+    /// The registers need to be split into a push of r4-r7+lr and another
+    /// containing r8-r11 (+r12 if necessary).
----------------
efriedma-quic wrote:

Maybe worth noting the interaction between R7Split and the Thumb1 AAPCS split push (HasFrameRecordArea).

https://github.com/llvm/llvm-project/pull/82801


More information about the llvm-commits mailing list