diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/CodeGen/DwarfWriter.cpp | 5 | ||||
-rw-r--r-- | llvm/lib/Target/TargetMachine.cpp | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/DwarfWriter.cpp b/llvm/lib/CodeGen/DwarfWriter.cpp index 62d9f7c74f2..2b9cf74f88a 100644 --- a/llvm/lib/CodeGen/DwarfWriter.cpp +++ b/llvm/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/llvm/lib/Target/TargetMachine.cpp b/llvm/lib/Target/TargetMachine.cpp index f6b3fd09f0b..842865391dd 100644 --- a/llvm/lib/Target/TargetMachine.cpp +++ b/llvm/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( |