Does the current code generate all the prologue cfi directives? 
Epilogue too?  The last time I checked, it did not (especially for
epilogues).

Fully asynch prologue/epilogue is one of the things that we need for
OpenVMS and will be doing that work.  We're also looking at using the
compact format instead of the CFI form (at least for routine bodies).

clang's driver already recognizes "-fasynchronous-unwind-tables" today
and maps that to "-munwind-tables" and probably should be switched to
setting your new "always-need-cfi" or simply change your name.    Either
way, I think there is an interaction between them.

From the code in Clang.cpp

  // This is a coarse approximation of what llvm-gcc actually does, both
  // -fasynchronous-unwind-tables and -fnon-call-exceptions interact in more
  // complicated ways.

On 9/24/19 11:54 AM, Eric Christopher wrote:
> That said, prior art in gcc in this area:
>
> -fasynchronous-unwind-tables
>
> Generate unwind table in DWARF format, if supported by target machine.
> The table is exact at each instruction boundary, so it can be used for
> stack unwinding from asynchronous events (such as debugger or garbage
> collector).
>
> -eric
>
> On Tue, Sep 24, 2019 at 8:43 AM Keith Walker via Phabricator
> <revi...@reviews.llvm.org> wrote:
>> keith.walker.arm added a comment.
>>
>> I feel that using a -g option make more sense.
>>
>> Maybe -gdwarf-frame, or -gdwarf-frame-always might be more user friendly as 
>> it relates more to the DWARF section created rather than the section content.
>>
>>
>> Repository:
>>   rG LLVM Github Monorepo
>>
>> CHANGES SINCE LAST ACTION
>>   https://reviews.llvm.org/D67216/new/
>>
>> https://reviews.llvm.org/D67216
>>
>>
>>
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to