aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-08-02 04:02:52 +0000
committerChris Lattner <sabre@nondot.org>2009-08-02 04:02:52 +0000
commitb6d667403fed489ef92174b3f19d4b87db5c39f7 (patch)
tree23c6baa67140de0c6021e4bca1ccfa78a1aa32ce
parentad88bc4076d088baad8a5ee9561e46ac08a1c88a (diff)
remove the dead PreferredEHDataFormat TAI hook: its now dead
even considering #if 0 code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77856 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/WritingAnLLVMBackend.html4
-rw-r--r--include/llvm/Target/TargetAsmInfo.h5
-rw-r--r--lib/Target/TargetAsmInfo.cpp4
-rw-r--r--lib/Target/X86/X86TargetAsmInfo.cpp72
-rw-r--r--lib/Target/X86/X86TargetAsmInfo.h9
5 files changed, 3 insertions, 91 deletions
diff --git a/docs/WritingAnLLVMBackend.html b/docs/WritingAnLLVMBackend.html
index 388e706046..29dc1127c5 100644
--- a/docs/WritingAnLLVMBackend.html
+++ b/docs/WritingAnLLVMBackend.html
@@ -2080,8 +2080,8 @@ SparcTargetAsmInfo::SparcTargetAsmInfo(const SparcTargetMachine &amp;TM) {
<p>
The X86 assembly printer implementation (<tt>X86TargetAsmInfo</tt>) is an
-example where the target specific <tt>TargetAsmInfo</tt> class uses overridden
-methods: <tt>ExpandInlineAsm</tt> and <tt>PreferredEHDataFormat</tt>.
+example where the target specific <tt>TargetAsmInfo</tt> class uses an
+overridden methods: <tt>ExpandInlineAsm</tt>.
</p>
<p>
diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h
index 5574ad5bc6..958a701cef 100644
--- a/include/llvm/Target/TargetAsmInfo.h
+++ b/include/llvm/Target/TargetAsmInfo.h
@@ -383,11 +383,6 @@ namespace llvm {
/// length.
virtual unsigned getInlineAsmLength(const char *Str) const;
- /// PreferredEHDataFormat - This hook allows the target to select data
- /// format used for encoding pointers in exception handling data.
- virtual unsigned PreferredEHDataFormat() const;
-
-
/// getSLEB128Size - Compute the number of bytes required for a signed
/// leb128 value.
static unsigned getSLEB128Size(int Value);
diff --git a/lib/Target/TargetAsmInfo.cpp b/lib/Target/TargetAsmInfo.cpp
index e961f2ad74..cb835e630f 100644
--- a/lib/Target/TargetAsmInfo.cpp
+++ b/lib/Target/TargetAsmInfo.cpp
@@ -140,10 +140,6 @@ unsigned TargetAsmInfo::getInlineAsmLength(const char *Str) const {
return Length;
}
-unsigned TargetAsmInfo::PreferredEHDataFormat() const {
- return dwarf::DW_EH_PE_absptr;
-}
-
unsigned TargetAsmInfo::getULEB128Size(unsigned Value) {
unsigned Size = 0;
do {
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp
index 4c9030845a..db9cf905c4 100644
--- a/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -86,14 +86,6 @@ X86DarwinTargetAsmInfo::X86DarwinTargetAsmInfo(const X86TargetMachine &TM):
".section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support";
}
-unsigned X86DarwinTargetAsmInfo::PreferredEHDataFormat() const {
- const X86Subtarget *Subtarget = &TM.getSubtarget<X86Subtarget>();
- if (Subtarget->getDarwinVers() > 9)
- return DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4;
-
- return DW_EH_PE_absptr;
-}
-
const char *
X86DarwinTargetAsmInfo::getEHGlobalPrefix() const {
const X86Subtarget* Subtarget = &TM.getSubtarget<X86Subtarget>();
@@ -138,70 +130,6 @@ X86ELFTargetAsmInfo::X86ELFTargetAsmInfo(const X86TargetMachine &TM) :
NonexecutableStackDirective = "\t.section\t.note.GNU-stack,\"\",@progbits";
}
-unsigned
-X86ELFTargetAsmInfo::PreferredEHDataFormat() const {
- CodeModel::Model CM = TM.getCodeModel();
- bool is64Bit = TM.getSubtarget<X86Subtarget>().is64Bit();
-
- if (TM.getRelocationModel() == Reloc::PIC_) {
- unsigned Format = 0;
-
- if (!is64Bit)
- // 32 bit targets always encode pointers as 4 bytes
- Format = DW_EH_PE_sdata4;
- else {
- // 64 bit targets encode pointers in 4 bytes iff:
- // - code model is small OR
- // - code model is medium and we're emitting externally visible symbols
- // or any code symbols
- if (CM == CodeModel::Small || CM == CodeModel::Medium)
- Format = DW_EH_PE_sdata4;
- else
- Format = DW_EH_PE_sdata8;
- }
-
- Format |= DW_EH_PE_indirect;
- return (Format | DW_EH_PE_pcrel);
- }
-
- if (is64Bit && CM == CodeModel::Small)
- return DW_EH_PE_udata4;
- return DW_EH_PE_absptr;
-}
-
-
-unsigned
-X86COFFTargetAsmInfo::PreferredEHDataFormat() const {
- CodeModel::Model CM = TM.getCodeModel();
- bool is64Bit = TM.getSubtarget<X86Subtarget>().is64Bit();
-
- if (TM.getRelocationModel() == Reloc::PIC_) {
- unsigned Format = 0;
-
- if (!is64Bit)
- // 32 bit targets always encode pointers as 4 bytes
- Format = DW_EH_PE_sdata4;
- else {
- // 64 bit targets encode pointers in 4 bytes iff:
- // - code model is small OR
- // - code model is medium and we're emitting externally visible symbols
- // or any code symbols
- if (CM == CodeModel::Small || CM == CodeModel::Medium)
- Format = DW_EH_PE_sdata4;
- else
- Format = DW_EH_PE_sdata8;
- }
-
- Format |= DW_EH_PE_indirect;
- return (Format | DW_EH_PE_pcrel);
- }
-
- if (is64Bit && CM == CodeModel::Small)
- return DW_EH_PE_udata4;
- return DW_EH_PE_absptr;
-}
-
-
X86WinTargetAsmInfo::X86WinTargetAsmInfo(const X86TargetMachine &TM):
X86TargetAsmInfo<TargetAsmInfo>(TM) {
diff --git a/lib/Target/X86/X86TargetAsmInfo.h b/lib/Target/X86/X86TargetAsmInfo.h
index 3cc027185c..f7113b3e5e 100644
--- a/lib/Target/X86/X86TargetAsmInfo.h
+++ b/lib/Target/X86/X86TargetAsmInfo.h
@@ -37,21 +37,14 @@ namespace llvm {
struct X86DarwinTargetAsmInfo : public X86TargetAsmInfo<DarwinTargetAsmInfo> {
explicit X86DarwinTargetAsmInfo(const X86TargetMachine &TM);
- virtual unsigned PreferredEHDataFormat() const;
virtual const char *getEHGlobalPrefix() const;
};
struct X86ELFTargetAsmInfo : public X86TargetAsmInfo<ELFTargetAsmInfo> {
explicit X86ELFTargetAsmInfo(const X86TargetMachine &TM);
- virtual unsigned PreferredEHDataFormat() const;
};
- struct X86COFFTargetAsmInfo : public X86TargetAsmInfo<COFFTargetAsmInfo> {
- explicit X86COFFTargetAsmInfo(const X86TargetMachine &TM) :
- X86TargetAsmInfo<COFFTargetAsmInfo>(TM) {}
- virtual unsigned PreferredEHDataFormat() const;
- };
-
+ typedef X86TargetAsmInfo<COFFTargetAsmInfo> X86COFFTargetAsmInfo;
struct X86WinTargetAsmInfo : public X86TargetAsmInfo<TargetAsmInfo> {
explicit X86WinTargetAsmInfo(const X86TargetMachine &TM);