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:
Bill Wendling 2008-07-01 23:34:48 +00:00
parent 6547e406cf
commit aa8f8889a8
5 changed files with 13 additions and 3 deletions

View File

@ -412,7 +412,11 @@ namespace llvm {
/// DwarfExceptionSection - Section directive for Exception 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 -----------------------------------===//
@ -699,6 +703,9 @@ namespace llvm {
const char *getDwarfExceptionSection() const {
return DwarfExceptionSection;
}
bool doesDebugInfoRequireFrameMoveInfo() const {
return DebugInfoRequireFrameMoveInfo;
}
const char *const *getAsmCBE() const {
return AsmTransCBE;
}

View File

@ -827,7 +827,7 @@ protected:
///
AsmPrinter *Asm;
/// TAI - Target Asm Printer.
/// TAI - Target asm information.
const TargetAsmInfo *TAI;
/// TD - Target data.
@ -3511,7 +3511,7 @@ public:
shouldEmitTable = true;
// See if we need frame move info.
if (MMI->hasDebugInfo() ||
if ((MMI->hasDebugInfo() && TAI->doesDebugInfoRequireFrameMoveInfo()) ||
!MF->getFunction()->doesNotThrow() ||
UnwindTablesMandatory)
shouldEmitMoves = true;

View File

@ -66,6 +66,7 @@ DarwinTargetAsmInfo::DarwinTargetAsmInfo(const PPCTargetMachine &TM)
DwarfEHFrameSection =
".section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support";
DwarfExceptionSection = ".section __DATA,__gcc_except_tab";
DebugInfoRequireFrameMoveInfo = false;
GlobalEHDirective = "\t.globl\t";
SupportsWeakOmittedEHFrame = false;

View File

@ -111,6 +111,7 @@ TargetAsmInfo::TargetAsmInfo() :
DwarfMacInfoSection(".debug_macinfo"),
DwarfEHFrameSection(".eh_frame"),
DwarfExceptionSection(".gcc_except_table"),
DebugInfoRequireFrameMoveInfo(true),
AsmTransCBE(0) {
}

View File

@ -124,6 +124,7 @@ X86TargetAsmInfo::X86TargetAsmInfo(const X86TargetMachine &TM) {
DwarfEHFrameSection =
".section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support";
DwarfExceptionSection = ".section __DATA,__gcc_except_tab";
DebugInfoRequireFrameMoveInfo = false;
break;
case X86Subtarget::isELF: