<div dir="ltr">The referenced commit and discussion thread was:<div>r317579 - Reland "Correct dwarf unwind information in function epilogue for X86" (November 7, last updated last week)</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 15, 2017 at 2:53 PM, Reid Kleckner via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Personally, I support the goal of emitting DWARF CFI that is correct at every instruction. Recently there was work on emitting accurate CFI for epilogues, but it had to be reverted due to some conflicts with MachO compact CFI. Eventually, our DWARF CFI should probably look more like the .seh_pushreg instructions we emit for win64.</div><div><br></div>I think "isAsynchronousEHPersonality" has a different meaning than what you have in mind, and should be renamed. A better name might be "mayCatchNonCallExceptions".</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 14, 2017 at 7:22 AM, John Reagan via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
We're at the point in our port of OpenVMS to x86-64 that we're working<br>
on the unwind code.  The current ABI and the current codebase doesn't<br>
have enough support for true asynchronous unwinding from any point (most<br>
notably in the prologue/epilogue) in the code that OpenVMS needs.  We're<br>
working on a set of changes to the compact unwind information to handle<br>
the additional cases (and some clearly OpenVMS-specific needs that<br>
others won't care about).<br>
<br>
We've noted that gcc seems to generate better asynchronous unwind info<br>
and has the companion -fasynchronous-unwind-tables.  clang just maps it<br>
to -funwind-tables.<br>
<br>
We've also noted that Reid and company have nicely added<br>
Analysis/EHPersonalities.h along with a "isAsynchronousEHPersonality"<br>
function for MSVC personality routines.<br>
<br>
I'll post an RFC in January to get some feedback, but wanted to know if<br>
others have out-of-tree unwind changes in this area.  Perhaps they might<br>
be helpful to us.<br>
<br>
John<br>
<br>
<br>
______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br></div>
</div></div><br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div>