aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2008-07-01 23:34:48 +0000
committerBill Wendling <isanbard@gmail.com>2008-07-01 23:34:48 +0000
commitaa8f8889a861aadc061aec71fb7ed7f628848a2d (patch)
tree311af25e30747a4defe06d624952d2c40aa40bfb /lib
parent6547e406cf934346db7a206b61bcf09635afff0d (diff)
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
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/DwarfWriter.cpp4
-rw-r--r--lib/Target/PowerPC/PPCTargetAsmInfo.cpp1
-rw-r--r--lib/Target/TargetAsmInfo.cpp1
-rw-r--r--lib/Target/X86/X86TargetAsmInfo.cpp1
4 files changed, 5 insertions, 2 deletions
diff --git a/lib/CodeGen/DwarfWriter.cpp b/lib/CodeGen/DwarfWriter.cpp
index 68ec6c49ac..569702c59d 100644
--- a/lib/CodeGen/DwarfWriter.cpp
+++ b/lib/CodeGen/DwarfWriter.cpp
@@ -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;
diff --git a/lib/Target/PowerPC/PPCTargetAsmInfo.cpp b/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
index 058de655ef..00e1aabdd1 100644
--- a/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
+++ b/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
@@ -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;
diff --git a/lib/Target/TargetAsmInfo.cpp b/lib/Target/TargetAsmInfo.cpp
index 2adad3d7ba..8caff91e60 100644
--- a/lib/Target/TargetAsmInfo.cpp
+++ b/lib/Target/TargetAsmInfo.cpp
@@ -111,6 +111,7 @@ TargetAsmInfo::TargetAsmInfo() :
DwarfMacInfoSection(".debug_macinfo"),
DwarfEHFrameSection(".eh_frame"),
DwarfExceptionSection(".gcc_except_table"),
+ DebugInfoRequireFrameMoveInfo(true),
AsmTransCBE(0) {
}
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp
index 887c13dcc7..d0b3b818f1 100644
--- a/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -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: