diff options
author | Jim Laskey <jlaskey@mac.com> | 2007-01-29 20:48:32 +0000 |
---|---|---|
committer | Jim Laskey <jlaskey@mac.com> | 2007-01-29 20:48:32 +0000 |
commit | 1b340dc8e20dc1ce204ebdcc2ff11c3dd36888f1 (patch) | |
tree | d6b3fe3a8d4075a9338beafc76fc59f27f314cf1 | |
parent | f82aa1cf73b6cdd0c6713ad365bae1204755ee2f (diff) |
Flag to control exception handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33628 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Target/TargetOptions.h | 5 | ||||
-rw-r--r-- | lib/CodeGen/DwarfWriter.cpp | 5 | ||||
-rw-r--r-- | lib/Target/TargetMachine.cpp | 6 |
3 files changed, 14 insertions, 2 deletions
diff --git a/include/llvm/Target/TargetOptions.h b/include/llvm/Target/TargetOptions.h index 6bfe005c15..fcf2aa15bb 100644 --- a/include/llvm/Target/TargetOptions.h +++ b/include/llvm/Target/TargetOptions.h @@ -59,6 +59,11 @@ namespace llvm { /// .bss section. This flag disables such behaviour (necessary, e.g. for /// crt*.o compiling). extern bool NoZerosInBSS; + + /// ExceptionHandling - This flag indicates that exception information should + /// be emitted. + extern bool ExceptionHandling; + } // End llvm namespace #endif diff --git a/lib/CodeGen/DwarfWriter.cpp b/lib/CodeGen/DwarfWriter.cpp index 62d9f7c74f..2b9cf74f88 100644 --- a/lib/CodeGen/DwarfWriter.cpp +++ b/lib/CodeGen/DwarfWriter.cpp @@ -29,8 +29,9 @@ #include "llvm/Target/TargetAsmInfo.h" #include "llvm/Target/MRegisterInfo.h" #include "llvm/Target/TargetData.h" -#include "llvm/Target/TargetMachine.h" #include "llvm/Target/TargetFrameInfo.h" +#include "llvm/Target/TargetMachine.h" +#include "llvm/Target/TargetOptions.h" #include <ostream> #include <string> using namespace llvm; @@ -2675,7 +2676,7 @@ public: /// manager has created it. Set by the target AsmPrinter. void SetModuleInfo(MachineModuleInfo *mmi) { // Make sure initial declarations are made. - if (!MMI && TAI->getSupportsExceptionHandling()) { + if (!MMI && ExceptionHandling && TAI->getSupportsExceptionHandling()) { MMI = mmi; shouldEmit = true; } diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp index f6b3fd09f0..842865391d 100644 --- a/lib/Target/TargetMachine.cpp +++ b/lib/Target/TargetMachine.cpp @@ -29,6 +29,7 @@ namespace llvm { bool FiniteOnlyFPMathOption; bool UseSoftFloat; bool NoZerosInBSS; + bool ExceptionHandling; Reloc::Model RelocationModel; CodeModel::Model CMModel; } @@ -67,6 +68,11 @@ namespace { cl::desc("Don't place zero-initialized symbols into bss section"), cl::location(NoZerosInBSS), cl::init(false)); + cl::opt<bool, true> + EnableExceptionHandling("exception-handling", + cl::desc("Exception handling should be emitted."), + cl::location(ExceptionHandling), + cl::init(false)); cl::opt<llvm::Reloc::Model, true> DefRelocationModel( |