[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

Evan Cheng evan.cheng at apple.com
Wed Apr 16 01:18:50 PDT 2008


On Apr 14, 2008, at 10:54 AM, Dale Johannesen wrote:

> 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.

Yay! :-) Thanks Dale.

Evan

>
>
>
> 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;
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list