aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/LLVMTargetMachine.cpp
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2008-04-02 00:25:04 +0000
committerDale Johannesen <dalej@apple.com>2008-04-02 00:25:04 +0000
commit8553576e0c959305b88e548148b0a472c94ffca8 (patch)
tree52fd71de9a6648a1f69dca1dd3d87ced1bc2adf5 /lib/CodeGen/LLVMTargetMachine.cpp
parenta3a03293053509bb588fb56ed81cfed06b9ec14f (diff)
downloadexternal_llvm-8553576e0c959305b88e548148b0a472c94ffca8.tar.gz
external_llvm-8553576e0c959305b88e548148b0a472c94ffca8.tar.bz2
external_llvm-8553576e0c959305b88e548148b0a472c94ffca8.zip
Recommitting EH patch; this should answer most of the
review feedback. -enable-eh is still accepted but doesn't do anything. EH intrinsics use Dwarf EH if the target supports that, and are handled by LowerInvoke otherwise. The separation of the EH table and frame move data is, I think, logically figured out, but either one still causes full EH info to be generated (not sure how to split the metadata correctly). MachineModuleInfo::needsFrameInfo is no longer used and is removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49064 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LLVMTargetMachine.cpp')
-rw-r--r--lib/CodeGen/LLVMTargetMachine.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp
index bae7140bfb..c65a6b9a79 100644
--- a/lib/CodeGen/LLVMTargetMachine.cpp
+++ b/lib/CodeGen/LLVMTargetMachine.cpp
@@ -19,6 +19,7 @@
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/Collector.h"
#include "llvm/Target/TargetOptions.h"
+#include "llvm/Target/TargetAsmInfo.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Support/CommandLine.h"
using namespace llvm;
@@ -66,7 +67,7 @@ LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM,
PM.add(createGCLoweringPass());
- if (!ExceptionHandling)
+ if (!getTargetAsmInfo()->doesSupportExceptionHandling())
PM.add(createLowerInvokePass(getTargetLowering()));
// Make sure that no unreachable blocks are instruction selected.
@@ -192,7 +193,7 @@ bool LLVMTargetMachine::addPassesToEmitMachineCode(PassManagerBase &PM,
PM.add(createGCLoweringPass());
- if (!ExceptionHandling)
+ if (!getTargetAsmInfo()->doesSupportExceptionHandling())
PM.add(createLowerInvokePass(getTargetLowering()));
// Make sure that no unreachable blocks are instruction selected.