[llvm-dev] [RFC] Asynchronous unwind tables attribute
Momchil Velikov via llvm-dev
llvm-dev at lists.llvm.org
Sat Nov 20 16:52:17 PST 2021
On Sun, 21 Nov 2021 at 00:33, Fāng-ruì Sòng <maskray at google.com> wrote:
> On 2021-11-21, Momchil Velikov wrote:
> > | nounwind 0 | nounwind 1
> >----------+-------------+--------------
> >uwtable 0 | <full,no> | <no,no>
> >----------+-------------+--------------
> >uwtable 1 | <full,no> | <full,no>
> >----------+-------------+--------------
> >uwtable 2 | <full,min> | <min, min>
> >----------+-------------+--------------
> >uwtable 3 | <full,full> | <full,full>
> >
> >where
> > - "full" means full unwind info - CFA, CSRs, return address
> > - "min" is minimal, sans CSRs,
> > - "no" is, well, no unwind info and
> > - "<p,e>" is the kind generated for prologues and epilogues,
> respectively.
>
> uwtable 1/nounwind 1: <full,no>
> uwtable 2/nounwind 1: <min,min>
>
> Why is there a full->min transition for the generated prologue?
>
Because for a synchronous unwind table it makes only sense for the prologue
to be full, <min, no> is
unusable combination, whereas <full, no> is usable for a debugger (it's
basically what we have now for most backends).
--
Compiler scrub, Arm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211121/81ffec3d/attachment.html>
More information about the llvm-dev
mailing list