amdgcn: Support basic DWARF
authorAndrew Stubbs <ams@codesourcery.com>
Fri, 26 Jun 2020 16:10:55 +0000 (17:10 +0100)
committerAndrew Stubbs <ams@codesourcery.com>
Mon, 29 Jun 2020 10:58:54 +0000 (11:58 +0100)
commiteff23b7961fb77b939944252529c9b64f69dbb8c
treec4a1719de19553fe62a7af9259a2e53427e05601
parent35cf3c55165efe8226cb9e5397ab0620130396ea
amdgcn: Support basic DWARF

This is enough DWARF support for "-O0 -g" to work OK, within a single frame,
using the new rocgdb debugger from AMD.  Debugging with optimization enabled
also works when the values are located in SGPRs or memory.

Scalars in VGPRs are problematic, EXEC_HI and VCC_HI are unmappable, and
CFI remains unimplemented.

gcc/ChangeLog:

* config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): New macro.
* config/gcn/gcn-protos.h (gcn_dwarf_register_number): New prototype.
* config/gcn/gcn.c (gcn_expand_prologue): Add RTX_FRAME_RELATED_P
and REG_FRAME_RELATED_EXPR to stack and frame pointer adjustments.
(gcn_dwarf_register_number): New function.
(gcn_dwarf_register_span): New function.
(TARGET_DWARF_REGISTER_SPAN): New hook macro.
gcc/config/gcn/gcn-hsa.h
gcc/config/gcn/gcn-protos.h
gcc/config/gcn/gcn.c