[llvm] [AArch64][SME] Save VG for unwind info when changing streaming-mode (PR #83301)
Kerry McLaughlin via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 4 08:12:46 PST 2024
kmclaughlin-arm wrote:
Hi @efriedma-quic, thank you for taking a look at this!
> It seems weird to be generating actual instructions in the text section for the sake of unwind info, particularly for functions marked "nounwind".
In the latest commit I have made changes to ensure that functions marked with 'nounwind' will not store VG to the stack.
>
> So if we invent an appropriate DWARF encoding, we should be able to represent all the necessary information without requiring any code at runtime, I think. Given that, what's the advantage of generating code to explicitly compute/spill "VG"?
I created this patch to spill the value of VG at the beginning of the function as this is requested by the ABI, specifically `"the function's executable code must save the old value of VG to some location L before the operation that might change VG."`
However, I'm not sure why we don't instead encode this information in debug info; perhaps this is something @rsandifo-arm might know more about?
https://github.com/llvm/llvm-project/pull/83301
More information about the llvm-commits
mailing list