[llvm-dev] x86-64 unwind additions

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Fri Dec 15 11:53:45 PST 2017


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.

I think "isAsynchronousEHPersonality" has a different meaning than what you
have in mind, and should be renamed. A better name might be
"mayCatchNonCallExceptions".

On Thu, Dec 14, 2017 at 7:22 AM, John Reagan via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hi all,
>
> We're at the point in our port of OpenVMS to x86-64 that we're working
> on the unwind code.  The current ABI and the current codebase doesn't
> have enough support for true asynchronous unwinding from any point (most
> notably in the prologue/epilogue) in the code that OpenVMS needs.  We're
> working on a set of changes to the compact unwind information to handle
> the additional cases (and some clearly OpenVMS-specific needs that
> others won't care about).
>
> We've noted that gcc seems to generate better asynchronous unwind info
> and has the companion -fasynchronous-unwind-tables.  clang just maps it
> to -funwind-tables.
>
> We've also noted that Reid and company have nicely added
> Analysis/EHPersonalities.h along with a "isAsynchronousEHPersonality"
> function for MSVC personality routines.
>
> I'll post an RFC in January to get some feedback, but wanted to know if
> others have out-of-tree unwind changes in this area.  Perhaps they might
> be helpful to us.
>
> John
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171215/3aa26687/attachment.html>


More information about the llvm-dev mailing list