[llvm-commits] [llvm] r49663 - in /llvm/trunk: include/llvm/Target/TargetOptions.h lib/CodeGen/DwarfWriter.cpp lib/Target/PowerPC/PPCRegisterInfo.cpp lib/Target/TargetMachine.cpp lib/Target/X86/X86RegisterInfo.cpp
Dale Johannesen
dalej at apple.com
Mon Apr 14 10:54:17 PDT 2008
Author: johannes
Date: Mon Apr 14 12:54:17 2008
New Revision: 49663
URL: http://llvm.org/viewvc/llvm-project?rev=49663&view=rev
Log:
Reverse sense of unwind-tables option. This means
stack tracebacks on Darwin x86-64 won't work by default;
nevertheless, everybody but me thinks this is a good idea.
Modified:
llvm/trunk/include/llvm/Target/TargetOptions.h
llvm/trunk/lib/CodeGen/DwarfWriter.cpp
llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.cpp
llvm/trunk/lib/Target/TargetMachine.cpp
llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
Modified: llvm/trunk/include/llvm/Target/TargetOptions.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetOptions.h?rev=49663&r1=49662&r2=49663&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/TargetOptions.h (original)
+++ llvm/trunk/include/llvm/Target/TargetOptions.h Mon Apr 14 12:54:17 2008
@@ -74,10 +74,9 @@
/// be emitted.
extern bool ExceptionHandling;
- /// UnwindTablesOptional - This flag indicates that unwind tables need not
- /// be emitted for all functions. Exception handling may still require them
- /// for some functions.
- extern bool UnwindTablesOptional;
+ /// UnwindTablesMandatory - This flag indicates that unwind tables should
+ /// be emitted for all functions.
+ extern bool UnwindTablesMandatory;
/// PerformTailCallOpt - This flag is enabled when -tailcallopt is specified
/// on the commandline. When the flag is on, the target will perform tail call
Modified: llvm/trunk/lib/CodeGen/DwarfWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/DwarfWriter.cpp?rev=49663&r1=49662&r2=49663&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/DwarfWriter.cpp (original)
+++ llvm/trunk/lib/CodeGen/DwarfWriter.cpp Mon Apr 14 12:54:17 2008
@@ -2906,10 +2906,10 @@
// If there are no calls then you can't unwind. This may mean we can
// omit the EH Frame, but some environments do not handle weak absolute
// symbols.
- // If UnwindTablesOptional is not set we cannot do this optimization; the
+ // If UnwindTablesMandatory is set we cannot do this optimization; the
// unwind info is to be available for non-EH uses.
if (!EHFrameInfo.hasCalls &&
- UnwindTablesOptional &&
+ !UnwindTablesMandatory &&
((linkage != Function::WeakLinkage &&
linkage != Function::LinkOnceLinkage) ||
!TAI->getWeakDefDirective() ||
@@ -3432,7 +3432,7 @@
// See if we need frame move info.
if (MMI->hasDebugInfo() ||
!MF->getFunction()->doesNotThrow() ||
- !UnwindTablesOptional)
+ UnwindTablesMandatory)
shouldEmitMoves = true;
if (shouldEmitMoves || shouldEmitTable)
Modified: llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.cpp?rev=49663&r1=49662&r2=49663&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/PowerPC/PPCRegisterInfo.cpp Mon Apr 14 12:54:17 2008
@@ -949,7 +949,7 @@
MachineModuleInfo *MMI = MFI->getMachineModuleInfo();
bool needsFrameMoves = (MMI && MMI->hasDebugInfo()) ||
!MF.getFunction()->doesNotThrow() ||
- !UnwindTablesOptional;
+ UnwindTablesMandatory;
// Prepare for frame info.
unsigned FrameLabelId = 0;
Modified: llvm/trunk/lib/Target/TargetMachine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetMachine.cpp?rev=49663&r1=49662&r2=49663&view=diff
==============================================================================
--- llvm/trunk/lib/Target/TargetMachine.cpp (original)
+++ llvm/trunk/lib/Target/TargetMachine.cpp Mon Apr 14 12:54:17 2008
@@ -31,7 +31,7 @@
bool UseSoftFloat;
bool NoZerosInBSS;
bool ExceptionHandling;
- bool UnwindTablesOptional;
+ bool UnwindTablesMandatory;
Reloc::Model RelocationModel;
CodeModel::Model CMModel;
bool PerformTailCallOpt;
@@ -85,9 +85,9 @@
cl::location(ExceptionHandling),
cl::init(false));
cl::opt<bool, true>
- DisableUnwindTables("unwind-tables-optional",
- cl::desc("Generate unwinding tables only for functions that require them"),
- cl::location(UnwindTablesOptional),
+ EnableUnwindTables("unwind-tables",
+ cl::desc("Generate unwinding tables for all functions"),
+ cl::location(UnwindTablesMandatory),
cl::init(false));
cl::opt<llvm::Reloc::Model, true>
Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp?rev=49663&r1=49662&r2=49663&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp Mon Apr 14 12:54:17 2008
@@ -506,7 +506,7 @@
MachineBasicBlock::iterator MBBI = MBB.begin();
bool needsFrameMoves = (MMI && MMI->hasDebugInfo()) ||
!Fn->doesNotThrow() ||
- !UnwindTablesOptional;
+ UnwindTablesMandatory;
// Prepare for frame info.
unsigned FrameLabelId = 0;
More information about the llvm-commits
mailing list