[PATCH] D111411: [AArch64] Async unwind - function prologues

Shoaib Meenai via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 18 12:24:09 PDT 2022


smeenai added a comment.

Sorry for the late comment; I'm catching up on the async unwind changes as part of our LLVM 15 upgrade.

>From the description of this change and https://discourse.llvm.org/t/rfc-asynchronous-unwind-tables-attribute/59282, it seems like the extra directives being omitted should only be required for asynchronous unwind tables. I was wondering why the emission of the extra directives in this diff wasn't guarded by a check for async unwind tables in that case. E.g. https://godbolt.org/z/h4ceMe5ja shows Clang 15 emitting an extra `.cfi_def_cfa_offset` vs. Clang 14, even with `-fno-asynchronous-unwind-tables`. I don't think the size overhead is too significant for us, but I was wondering why that emission wasn't guarded by a check for async unwind tables.

I was also curious about the long-term plans here. https://godbolt.org/z/jnoc8YvKz shows that the `.cfi_offset` directives for saved registers are emitted together at the end of the prolog, vs. right after the instruction which saves the registers. Will that also be changing eventually for async unwind tables, or is that considered unnecessary?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D111411



More information about the llvm-commits mailing list