/// 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 -----------------------------------===//
const char *getDwarfExceptionSection() const {
return DwarfExceptionSection;
}
+ bool doesDebugInfoRequireFrameMoveInfo() const {
+ return DebugInfoRequireFrameMoveInfo;
+ }
const char *const *getAsmCBE() const {
return AsmTransCBE;
}
///
AsmPrinter *Asm;
- /// TAI - Target Asm Printer.
+ /// TAI - Target asm information.
const TargetAsmInfo *TAI;
/// TD - Target data.
shouldEmitTable = true;
// See if we need frame move info.
- if (MMI->hasDebugInfo() ||
+ if ((MMI->hasDebugInfo() && TAI->doesDebugInfoRequireFrameMoveInfo()) ||
!MF->getFunction()->doesNotThrow() ||
UnwindTablesMandatory)
shouldEmitMoves = true;
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;
DwarfMacInfoSection(".debug_macinfo"),
DwarfEHFrameSection(".eh_frame"),
DwarfExceptionSection(".gcc_except_table"),
+ DebugInfoRequireFrameMoveInfo(true),
AsmTransCBE(0) {
}
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: