summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rw-r--r--llvm/tools/lto/lto.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/tools/lto/lto.cpp b/llvm/tools/lto/lto.cpp
index 99024589f19..963c67ee7d9 100644
--- a/llvm/tools/lto/lto.cpp
+++ b/llvm/tools/lto/lto.cpp
@@ -31,6 +31,7 @@
#include "llvm/Analysis/Verifier.h"
#include "llvm/CodeGen/FileWriters.h"
#include "llvm/Target/SubtargetFeature.h"
+#include "llvm/Target/TargetOptions.h"
#include "llvm/Target/TargetData.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetMachineRegistry.h"
@@ -266,7 +267,11 @@ LTO::optimize(Module *M, std::ostream &Out,
if (!Target)
return LTO_NO_TARGET;
-
+
+ // If target supports exception handling then enable it now.
+ if (Target->getTargetAsmInfo()->doesSupportExceptionHandling())
+ ExceptionHandling = true;
+
// Start off with a verification pass.
Passes.add(createVerifierPass());
OpenPOWER on IntegriCloud