You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is being reviewed upstream (see Differential Revisions in each
per-commit message below) but has stalled while we go through the LLVM
RFC process.
The latest version of these patches should not present a large
maintenance burden in amd-stg-open as it no longer relies on certain
function attributes being present in lit tests.
This is the 1st commit message:
Implement DW_CFA_LLVM_* for Heterogeneous Debugging
Summary:
Add support in MC/MIR for writing/parsing, and DebugInfo.
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76877
This is the commit message #2:
Add SupportsDebugUnwindInformation to MCAsmInfo
Summary:
Generating unwind information is entangled with supporting exceptions,
even when AsmPrinter explicitly recognizes that the unwind tables are
being generated only as debug information.
Add SupportsDebugUnwindInformation as a workaround for targets which do
not have EH support but which do support unwind information for
debugging. This new option only has an effect when the `None` EH model
is specified. The option requests that .debug_frame be generated when
debug info is requested.
Add a new AsmPrinterHandler called UnwindStreamer which just ensures the
proper .cfi_sections and .cfi_startproc/.cfi_endproc directives are
emitted when the option is in effect. This duplicates trivial amounts of
DwarfException, but not enough to make factoring it out helpful.
In the future this could be unified/simplified with the existing EH
support if debug handling is made orthogonal to unwind information
generation.
Subscribers: mgorny, aprantl, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D78778
This is the commit message #3:
Implement DW_{OP,AT}_LLVM_* for Heterogeneous Debugging
Summary:
The chosen encoding has some collisions, which are resolved by using the
new augmentation attribute on the compilation unit and in unwind
information CIEs for any target which wishes to use the operations
defined by the extension.
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76878
This is the commit message #4:
[AMDGPU] Begin emitting CFI for AMDGCN
Summary:
Enable SupportsDebugUnwindInformation for AMDGCN, so we get unwind
information when debug information is requested.
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76879
This is the commit message #5:
[AMDGPU] Emit entry function CFI
Summary:
Entry functions represent the end of unwinding, as they are the
outer-most frame. This implies they can only have a meaningful
definition for the CFA, which AMDGPU defines using a memory location
description with a literal private address space address. The return
address is set to `undefined` as a sentinel value to signal the end of
unwinding.
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76880
This is the commit message #6:
[AMDGPU] Skip MetaInstructions in SIInsertWaitcnts
Summary:
CFI emitted during PEI at the beginning of the prologue needs to apply
to any inserted waitcnts on function entry.
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76881
This is the commit message #7:
[AMDGPU] Implement CFI for non-kernel functions
Summary:
This does not implement CSR spills other than those AMDGPU handles
during PEI.
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76882
This is the commit message #8:
[AMDGPU] Implement CFI for CSR spills
Summary:
Introduce new SPILL pseudos to allow CFI to be generated for only CSR
spills, and to make ISA-instruction-level accurate information.
Other targets either generate slightly incorrect information or rely on
conventions for how spills are placed within the entry block. The
approach in this change produces larger unwind tables, with the
increased size being spent on additional DW_CFA_advance_location
instructions needed to describe the unwinding accurately.
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76883
This is the commit message #9:
[AMDGPU] Implement -amdgpu-spill-cfi-saved-regs
Summary:
These spills need special CFI anyway, so implementing them directly
where CFI is emitted avoids the need to invent a mechanism to track them
from ISel.
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76884
This is the commit message #10:
Imply -amdgpu-spill-cfi-saved-regs with -ggdb for AMDGPU
Change-Id: I2a25c94ae69e20e615d020b6d544083e869b230c
0 commit comments