mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-03 01:12:59 +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:
parent
6547e406cf
commit
aa8f8889a8
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -111,6 +111,7 @@ TargetAsmInfo::TargetAsmInfo() :
|
||||
DwarfMacInfoSection(".debug_macinfo"),
|
||||
DwarfEHFrameSection(".eh_frame"),
|
||||
DwarfExceptionSection(".gcc_except_table"),
|
||||
DebugInfoRequireFrameMoveInfo(true),
|
||||
AsmTransCBE(0) {
|
||||
}
|
||||
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user