mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-21 01:06:46 +00:00
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
This commit is contained in:
parent
ad88bc4076
commit
b6d667403f
@ -2080,8 +2080,8 @@ SparcTargetAsmInfo::SparcTargetAsmInfo(const SparcTargetMachine &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>
|
||||
|
@ -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);
|
||||
|
@ -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 {
|
||||
|
@ -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) {
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user