<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><span style="font-family:Arial,Helvetica,sans-serif">On Sun, 21 Nov 2021 at 00:33, Fāng-ruì Sòng <<a href="mailto:maskray@google.com">maskray@google.com</a>> wrote:</span><br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2021-11-21, Momchil Velikov wrote:<br>>         | nounwind 0  |  nounwind 1<br>
>----------+-------------+--------------<br>
>uwtable 0 | <full,no>   |  <no,no><br>
>----------+-------------+--------------<br>
>uwtable 1 | <full,no>   |  <full,no><br>
>----------+-------------+--------------<br>
>uwtable 2 | <full,min> | <min, min><br>
>----------+-------------+--------------<br>
>uwtable 3 | <full,full> |  <full,full><br>
><br>
>where<br>
> - "full" means full unwind info - CFA, CSRs, return address<br>
> - "min" is minimal, sans CSRs,<br>
> - "no" is, well, no unwind info and<br>
> - "<p,e>" is the kind generated for prologues and epilogues, respectively.<br>
<br>
uwtable 1/nounwind 1: <full,no><br>
uwtable 2/nounwind 1: <min,min><br>
<br>
Why is there a full->min transition for the generated prologue?<br>
</blockquote></div><br clear="all"><div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">Because for a synchronous unwind table it makes only sense for the prologue to be full, <min, no> is</div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">unusable combination, whereas <full, no> is usable for a debugger (it's basically what we have now for most backends).</div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Compiler scrub, Arm<br></div></div></div>