aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-02-19 17:10:59 +0000
committerBob Wilson <bob.wilson@apple.com>2010-02-19 17:10:59 +0000
commit6b89aa57e6506f073579398bd74845db9463b9f1 (patch)
tree23a36eadc48842088a7cf4ae698c4b6c78066a8f /lib
parent3eba667081cb63761861e4543715c90f8fc47b18 (diff)
downloadexternal_llvm-6b89aa57e6506f073579398bd74845db9463b9f1.zip
external_llvm-6b89aa57e6506f073579398bd74845db9463b9f1.tar.gz
external_llvm-6b89aa57e6506f073579398bd74845db9463b9f1.tar.bz2
Revert Anton's most recent EH patch (r96637), since it breaks a lot of
ARM and Thumb tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96680 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/TargetLoweringObjectFileImpl.cpp17
-rw-r--r--lib/Target/X86/X86TargetObjectFile.cpp32
-rw-r--r--lib/Target/X86/X86TargetObjectFile.h8
3 files changed, 40 insertions, 17 deletions
diff --git a/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
index 96a33a2..190b533 100644
--- a/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+++ b/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
@@ -33,7 +33,6 @@
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringExtras.h"
using namespace llvm;
-using namespace dwarf;
//===----------------------------------------------------------------------===//
// ELF
@@ -755,22 +754,6 @@ getSymbolForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
}
-unsigned TargetLoweringObjectFileMachO::getPersonalityEncoding() const {
- return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
-}
-
-unsigned TargetLoweringObjectFileMachO::getLSDAEncoding() const {
- return DW_EH_PE_pcrel;
-}
-
-unsigned TargetLoweringObjectFileMachO::getFDEEncoding() const {
- return DW_EH_PE_pcrel;
-}
-
-unsigned TargetLoweringObjectFileMachO::getTTypeEncoding() const {
- return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
-}
-
//===----------------------------------------------------------------------===//
// COFF
//===----------------------------------------------------------------------===//
diff --git a/lib/Target/X86/X86TargetObjectFile.cpp b/lib/Target/X86/X86TargetObjectFile.cpp
index 61c06bd..1104646 100644
--- a/lib/Target/X86/X86TargetObjectFile.cpp
+++ b/lib/Target/X86/X86TargetObjectFile.cpp
@@ -148,3 +148,35 @@ unsigned X8664_ELFTargetObjectFile::getTTypeEncoding() const {
return DW_EH_PE_absptr;
}
+
+unsigned X8632_MachoTargetObjectFile::getPersonalityEncoding() const {
+ return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
+}
+
+unsigned X8632_MachoTargetObjectFile::getLSDAEncoding() const {
+ return DW_EH_PE_pcrel;
+}
+
+unsigned X8632_MachoTargetObjectFile::getFDEEncoding() const {
+ return DW_EH_PE_pcrel;
+}
+
+unsigned X8632_MachoTargetObjectFile::getTTypeEncoding() const {
+ return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
+}
+
+unsigned X8664_MachoTargetObjectFile::getPersonalityEncoding() const {
+ return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
+}
+
+unsigned X8664_MachoTargetObjectFile::getLSDAEncoding() const {
+ return DW_EH_PE_pcrel;
+}
+
+unsigned X8664_MachoTargetObjectFile::getFDEEncoding() const {
+ return DW_EH_PE_pcrel;
+}
+
+unsigned X8664_MachoTargetObjectFile::getTTypeEncoding() const {
+ return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
+}
diff --git a/lib/Target/X86/X86TargetObjectFile.h b/lib/Target/X86/X86TargetObjectFile.h
index 2d45b1b..93795a5 100644
--- a/lib/Target/X86/X86TargetObjectFile.h
+++ b/lib/Target/X86/X86TargetObjectFile.h
@@ -25,6 +25,10 @@ namespace llvm {
virtual const MCExpr *
getSymbolForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
MachineModuleInfo *MMI, unsigned Encoding) const;
+ virtual unsigned getPersonalityEncoding() const;
+ virtual unsigned getLSDAEncoding() const;
+ virtual unsigned getFDEEncoding() const;
+ virtual unsigned getTTypeEncoding() const;
};
/// X8664_MachoTargetObjectFile - This TLOF implementation is used for
@@ -35,6 +39,10 @@ namespace llvm {
virtual const MCExpr *
getSymbolForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
MachineModuleInfo *MMI, unsigned Encoding) const;
+ virtual unsigned getPersonalityEncoding() const;
+ virtual unsigned getLSDAEncoding() const;
+ virtual unsigned getFDEEncoding() const;
+ virtual unsigned getTTypeEncoding() const;
};
class X8632_ELFTargetObjectFile : public TargetLoweringObjectFileELF {