mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-06 02:17:20 +00:00
Darwin doesn't need exception handling information for the "move" info when
debug information is being output, because it's leet! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52994 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -413,6 +413,10 @@ namespace llvm {
|
|||||||
///
|
///
|
||||||
const char *DwarfExceptionSection; // Defaults to ".gcc_except_table".
|
const char *DwarfExceptionSection; // Defaults to ".gcc_except_table".
|
||||||
|
|
||||||
|
/// DebugInfoRequireFrameMoveInfo - Does debugging info require frame move
|
||||||
|
/// info.
|
||||||
|
///
|
||||||
|
bool DebugInfoRequireFrameMoveInfo; // Defaults to "true"
|
||||||
|
|
||||||
//===--- CBE Asm Translation Table -----------------------------------===//
|
//===--- CBE Asm Translation Table -----------------------------------===//
|
||||||
|
|
||||||
@@ -699,6 +703,9 @@ namespace llvm {
|
|||||||
const char *getDwarfExceptionSection() const {
|
const char *getDwarfExceptionSection() const {
|
||||||
return DwarfExceptionSection;
|
return DwarfExceptionSection;
|
||||||
}
|
}
|
||||||
|
bool doesDebugInfoRequireFrameMoveInfo() const {
|
||||||
|
return DebugInfoRequireFrameMoveInfo;
|
||||||
|
}
|
||||||
const char *const *getAsmCBE() const {
|
const char *const *getAsmCBE() const {
|
||||||
return AsmTransCBE;
|
return AsmTransCBE;
|
||||||
}
|
}
|
||||||
|
@@ -827,7 +827,7 @@ protected:
|
|||||||
///
|
///
|
||||||
AsmPrinter *Asm;
|
AsmPrinter *Asm;
|
||||||
|
|
||||||
/// TAI - Target Asm Printer.
|
/// TAI - Target asm information.
|
||||||
const TargetAsmInfo *TAI;
|
const TargetAsmInfo *TAI;
|
||||||
|
|
||||||
/// TD - Target data.
|
/// TD - Target data.
|
||||||
@@ -3511,7 +3511,7 @@ public:
|
|||||||
shouldEmitTable = true;
|
shouldEmitTable = true;
|
||||||
|
|
||||||
// See if we need frame move info.
|
// See if we need frame move info.
|
||||||
if (MMI->hasDebugInfo() ||
|
if ((MMI->hasDebugInfo() && TAI->doesDebugInfoRequireFrameMoveInfo()) ||
|
||||||
!MF->getFunction()->doesNotThrow() ||
|
!MF->getFunction()->doesNotThrow() ||
|
||||||
UnwindTablesMandatory)
|
UnwindTablesMandatory)
|
||||||
shouldEmitMoves = true;
|
shouldEmitMoves = true;
|
||||||
|
@@ -66,6 +66,7 @@ DarwinTargetAsmInfo::DarwinTargetAsmInfo(const PPCTargetMachine &TM)
|
|||||||
DwarfEHFrameSection =
|
DwarfEHFrameSection =
|
||||||
".section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support";
|
".section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support";
|
||||||
DwarfExceptionSection = ".section __DATA,__gcc_except_tab";
|
DwarfExceptionSection = ".section __DATA,__gcc_except_tab";
|
||||||
|
DebugInfoRequireFrameMoveInfo = false;
|
||||||
GlobalEHDirective = "\t.globl\t";
|
GlobalEHDirective = "\t.globl\t";
|
||||||
SupportsWeakOmittedEHFrame = false;
|
SupportsWeakOmittedEHFrame = false;
|
||||||
|
|
||||||
|
@@ -111,6 +111,7 @@ TargetAsmInfo::TargetAsmInfo() :
|
|||||||
DwarfMacInfoSection(".debug_macinfo"),
|
DwarfMacInfoSection(".debug_macinfo"),
|
||||||
DwarfEHFrameSection(".eh_frame"),
|
DwarfEHFrameSection(".eh_frame"),
|
||||||
DwarfExceptionSection(".gcc_except_table"),
|
DwarfExceptionSection(".gcc_except_table"),
|
||||||
|
DebugInfoRequireFrameMoveInfo(true),
|
||||||
AsmTransCBE(0) {
|
AsmTransCBE(0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -124,6 +124,7 @@ X86TargetAsmInfo::X86TargetAsmInfo(const X86TargetMachine &TM) {
|
|||||||
DwarfEHFrameSection =
|
DwarfEHFrameSection =
|
||||||
".section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support";
|
".section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support";
|
||||||
DwarfExceptionSection = ".section __DATA,__gcc_except_tab";
|
DwarfExceptionSection = ".section __DATA,__gcc_except_tab";
|
||||||
|
DebugInfoRequireFrameMoveInfo = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case X86Subtarget::isELF:
|
case X86Subtarget::isELF:
|
||||||
|
Reference in New Issue
Block a user