[PATCH] D91760: [Driver] Default Generic_GCC aarch64 to use -fasynchronous-unwind-tables

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 19 15:15:21 PST 2020


MaskRay added a comment.

In D91760#2406747 <https://reviews.llvm.org/D91760#2406747>, @joerg wrote:

> The difference is whether we promise to be instruction precise or not. I'm not sure we do or want to promise that as default.

`gcc/common/config/{aarch64,rs6000}/*-common.c` enables -fasynchronous-unwind-tables so I think the title is right about the eventual state.
I think the current state for x86-64 is that the produced .cfi instructions satisfy the asynchronous requirement.
Other targets (e.g. aarch64) mostly satisfy the requirement, but their epilogues may miss some instructions due to missing hooks required by CFIInstrInserter. This is just a QoI issue (and if I'll probably work on this on my spare time).
(GCC has its problems, too. It does not analyze inline asm and cannot produce 100% asynchronous unwind tables)

I think it is right that in this patch we say we that we default to -fasynchronous-unwind-tables.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91760/new/

https://reviews.llvm.org/D91760



More information about the cfe-commits mailing list