[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