[PATCH] D78778: [AMDGPU] Add SupportsDebugUnwindInformation to MCAsmInfo

Scott Linder via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 11 11:21:06 PST 2020


scott.linder added a comment.

In D78778#2449310 <https://reviews.llvm.org/D78778#2449310>, @MaskRay wrote:

> Could you just add `ExceptionsType = ExceptionHandling::DwarfCFI` to AMDGPUMCAsmInfo.cpp? You can still make `Asm->needsOnlyDebugCFIMoves` so that .debug_frame will be generated while .eh_frame is not.
>
> I do feel that we have a bunch of states which should be available to represent various needs (.eh_frame only, .debug_frame only, both, none) and support various options (-fasynchronous-unwind-tables), just probably that the states are not well organized...

This was our first approach, but we found other places which were sensitive to `ExceptionsType` being set. Maybe those aren't present anymore; is anyone aware if that option should affect CodeGen? I can take another look now, and see if I can point to the issues we had.

The more fundamental thing, which is another way of framing what you say about organization, is that unwinding should be decoupled from exception handling. This seems to have been a pain point for at least ARM (Ram mentioned http://lists.llvm.org/pipermail/cfe-dev/2014-February/035154.html earlier, which comes to the same conclusion).

>> Add SupportsDebugOnlyCFI as a workaround for targets which do not have EH support but which do support unwind information for debugging.
>
> Perhaps just expand the abbreviations: "... do not support .eh_frame but support .debug_frame for debugging."

Will do, begin explicit about the limit scope of the option seems good.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D78778



More information about the llvm-commits mailing list