Implement DW_CFA_LLVM_* for Heterogeneous Debugging
authorRamNalamothu <VenkataRamanaiah.Nalamothu@amd.com>
Mon, 14 Jun 2021 01:27:58 +0000 (06:57 +0530)
committerRamNalamothu <VenkataRamanaiah.Nalamothu@amd.com>
Mon, 14 Jun 2021 03:21:50 +0000 (08:51 +0530)
commit167e7afcd52bc1438d60320ec1d1bc53b8eae4a3
treedc3cb0f9a309f05e26771ff7cbce689425c409a1
parentdcbbc69cc58294cedc865259c6fd5ba80ecd9bd3
Implement DW_CFA_LLVM_* for Heterogeneous Debugging

Add support in MC/MIR for writing/parsing, and DebugInfo.

This is part of the Extensions for Heterogeneous Debugging defined at
https://llvm.org/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.html

Specifically the CFI instructions implemented here are defined at
https://llvm.org/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.html#cfa-definition-instructions

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D76877
20 files changed:
llvm/include/llvm/BinaryFormat/Dwarf.def
llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
llvm/include/llvm/MC/MCDwarf.h
llvm/include/llvm/MC/MCStreamer.h
llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
llvm/lib/CodeGen/CFIInstrInserter.cpp
llvm/lib/CodeGen/MIRParser/MILexer.cpp
llvm/lib/CodeGen/MIRParser/MILexer.h
llvm/lib/CodeGen/MIRParser/MIParser.cpp
llvm/lib/CodeGen/MachineOperand.cpp
llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
llvm/lib/MC/MCAsmStreamer.cpp
llvm/lib/MC/MCDwarf.cpp
llvm/lib/MC/MCParser/AsmParser.cpp
llvm/lib/MC/MCStreamer.cpp
llvm/test/CodeGen/MIR/AArch64/cfi.mir
llvm/test/MC/ELF/cfi-llvm-def-cfa-aspace-errors.s [new file with mode: 0644]
llvm/test/MC/ELF/cfi-llvm-def-cfa-aspace.s [new file with mode: 0644]
llvm/test/tools/llvm-dwarfdump/X86/debug_frame_LLVM_def_cfa_aspace.s [new file with mode: 0644]
llvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp