diff options
author | Chen Zheng <czhengsz@cn.ibm.com> | 2021-03-04 20:47:41 -0500 |
---|---|---|
committer | Chen Zheng <czhengsz@cn.ibm.com> | 2021-03-04 21:07:52 -0500 |
commit | 87bbf3d1f8c344c98a6f3079b76405ca22b83b79 (patch) | |
tree | ab02e7aa168a8c1ecbbadf638fc8dbd303ed104d /llvm/lib/Target | |
parent | 46f52fb65524e233b9e1ae254b8c021ce7631ef3 (diff) | |
download | llvm-87bbf3d1f8c344c98a6f3079b76405ca22b83b79.zip llvm-87bbf3d1f8c344c98a6f3079b76405ca22b83b79.tar.gz llvm-87bbf3d1f8c344c98a6f3079b76405ca22b83b79.tar.bz2 |
[XCOFF][DebugInfo] support DWARF for XCOFF for assembly output.
Reviewed By: jasonliu
Differential Revision: https://reviews.llvm.org/D95518
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp | 6 | ||||
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp index 2b76af2..b0f5267 100644 --- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp +++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp @@ -63,4 +63,10 @@ PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(bool Is64Bit, const Triple &T) { // A size of 8 is only supported by the assembler under 64-bit. Data64bitsDirective = Is64Bit ? "\t.vbyte\t8, " : nullptr; + + // Debug Information + SupportsDebugInformation = true; + + // Set up DWARF directives + MinInstAlignment = 4; } diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp index ddfca2a..4e307df 100644 --- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -2303,6 +2303,11 @@ void PPCAIXAsmPrinter::emitInstruction(const MachineInstr *MI) { } bool PPCAIXAsmPrinter::doFinalization(Module &M) { + // Do streamer related finalization for DWARF. + if (!MAI->usesDwarfFileAndLocDirectives() && MMI->hasDebugInfo()) + OutStreamer->doFinalizationAtSectionEnd( + OutStreamer->getContext().getObjectFileInfo()->getTextSection()); + for (MCSymbol *Sym : ExtSymSDNodeSymbols) OutStreamer->emitSymbolAttribute(Sym, MCSA_Extern); return PPCAsmPrinter::doFinalization(M); |