[clang] [llvm] [AArch64][SME] Save VG for unwind info when changing streaming-mode (PR #83301)

Eli Friedman via llvm-commits llvm-commits at lists.llvm.org
Sun May 5 13:44:15 PDT 2024


================
@@ -221,6 +224,15 @@ def : Pat<(AArch64_smstop (i32 svcr_op:$pstate), (i64 /*AArch64SME::Always*/0)),
           (MSRpstatesvcrImm1 svcr_op:$pstate, 0b0)>;
 
 
+// Pseudo to insert cfi_offset/cfi_restore instructions. Used to save or restore
+// the streaming value of VG around streaming-mode changes in locally-streaming
+// functions.
+def VGUnwindInfoPseudo :
+  Pseudo<(outs), (ins timm0_1:$save_restore), []>, Sched<[]>;
----------------
efriedma-quic wrote:

Is there a reason to make this one pseudo, instead of two?  The two operations have opposite semantics, and opcode space isn't that scarce.

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


More information about the llvm-commits mailing list