[PATCH] D134691: [MC] Don't emit redundant compact unwind entries

Steven Wu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 27 15:52:28 PDT 2022


steven_wu added a comment.

> Oh, thanks for your example, I wasn't aware of that. Just to make sure I understand, if a function has an encoding of 0x0 in the final binary's __unwind_info, that means you cannot throw anything across the frame?

I am not an expert in the area but I would believe that is the case. You can dig through libunwind in llvm to see the implementation over there.

> Also, the x86_64 MC backend is a lot more aggressive about omitting unwind info (https://discourse.llvm.org/t/does-it-make-sense-for-a-function-to-have-a-personality-lsda-if-it-has-no-other-unwind-info-mach-o/65490). Curious if you have thoughts on that. Is that a bug in x86_64, or does the arm64 unwinder work differently?

Looks like x86 backend emit __eh_frame instead?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D134691



More information about the llvm-commits mailing list