mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-02 16:54:58 +00:00
Now that the default for Darwin platforms is to place the LSDA into the TEXT
section, remove the target-specific code that performs this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98580 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9cc0da9c29
commit
505ad8bed3
@ -560,8 +560,8 @@ void TargetLoweringObjectFileMachO::Initialize(MCContext &Ctx,
|
||||
}
|
||||
|
||||
// Exception Handling.
|
||||
LSDASection = getMachOSection("__DATA", "__gcc_except_tab", 0,
|
||||
SectionKind::getDataRel());
|
||||
LSDASection = getMachOSection("__TEXT", "__gcc_except_tab", 0,
|
||||
SectionKind::getReadOnlyWithRel());
|
||||
EHFrameSection =
|
||||
getMachOSection("__TEXT", "__eh_frame",
|
||||
MCSectionMachO::S_COALESCED |
|
||||
@ -788,7 +788,7 @@ unsigned TargetLoweringObjectFileMachO::getFDEEncoding() const {
|
||||
}
|
||||
|
||||
unsigned TargetLoweringObjectFileMachO::getTTypeEncoding() const {
|
||||
return DW_EH_PE_absptr;
|
||||
return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -130,7 +130,7 @@ void ARMTargetLowering::addQRTypeForNEON(EVT VT) {
|
||||
|
||||
static TargetLoweringObjectFile *createTLOF(TargetMachine &TM) {
|
||||
if (TM.getSubtarget<ARMSubtarget>().isTargetDarwin())
|
||||
return new ARMMachOTargetObjectFile();
|
||||
return new TargetLoweringObjectFileMachO();
|
||||
|
||||
return new ARMElfTargetObjectFile();
|
||||
}
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "ARMTargetObjectFile.h"
|
||||
#include "ARMSubtarget.h"
|
||||
#include "llvm/MC/MCSectionELF.h"
|
||||
#include "llvm/MC/MCSectionMachO.h"
|
||||
#include "llvm/Support/Dwarf.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
using namespace llvm;
|
||||
@ -35,20 +34,3 @@ void ARMElfTargetObjectFile::Initialize(MCContext &Ctx,
|
||||
SectionKind::getDataRel());
|
||||
}
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Mach-O Target
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
void ARMMachOTargetObjectFile::Initialize(MCContext &Ctx,
|
||||
const TargetMachine &TM) {
|
||||
TargetLoweringObjectFileMachO::Initialize(Ctx, TM);
|
||||
|
||||
// Exception Handling.
|
||||
LSDASection = getMachOSection("__TEXT", "__gcc_except_tab", 0,
|
||||
SectionKind::getReadOnlyWithRel());
|
||||
}
|
||||
|
||||
unsigned ARMMachOTargetObjectFile::getTTypeEncoding() const {
|
||||
return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
|
||||
}
|
||||
|
@ -24,18 +24,6 @@ public:
|
||||
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
|
||||
};
|
||||
|
||||
// FIXME: This subclass isn't 100% necessary. It will become obsolete once we
|
||||
// can place all LSDAs into the TEXT section. See
|
||||
// <rdar://problem/6804645>.
|
||||
class ARMMachOTargetObjectFile : public TargetLoweringObjectFileMachO {
|
||||
public:
|
||||
ARMMachOTargetObjectFile() : TargetLoweringObjectFileMachO() {}
|
||||
|
||||
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
|
||||
|
||||
virtual unsigned getTTypeEncoding() const;
|
||||
};
|
||||
|
||||
} // end namespace llvm
|
||||
|
||||
#endif
|
||||
|
@ -24,7 +24,6 @@ add_llvm_target(PowerPCCodeGen
|
||||
PPCRegisterInfo.cpp
|
||||
PPCSubtarget.cpp
|
||||
PPCTargetMachine.cpp
|
||||
PPCTargetObjectFile.cpp
|
||||
)
|
||||
|
||||
target_link_libraries (LLVMPowerPCCodeGen LLVMSelectionDAG)
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "PPCPerfectShuffle.h"
|
||||
#include "PPCPredicates.h"
|
||||
#include "PPCTargetMachine.h"
|
||||
#include "PPCTargetObjectFile.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
#include "llvm/ADT/VectorExtras.h"
|
||||
#include "llvm/CodeGen/CallingConvLower.h"
|
||||
@ -60,7 +59,7 @@ cl::desc("enable preincrement load/store generation on PPC (experimental)"),
|
||||
|
||||
static TargetLoweringObjectFile *CreateTLOF(const PPCTargetMachine &TM) {
|
||||
if (TM.getSubtargetImpl()->isDarwin())
|
||||
return new PPCMachOTargetObjectFile();
|
||||
return new TargetLoweringObjectFileMachO();
|
||||
|
||||
return new TargetLoweringObjectFileELF();
|
||||
}
|
||||
|
@ -1,33 +0,0 @@
|
||||
//===-- llvm/Target/PPCTargetObjectFile.cpp - PPC Object Info Impl --------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "PPCTargetObjectFile.h"
|
||||
#include "PPCSubtarget.h"
|
||||
#include "llvm/MC/MCSectionMachO.h"
|
||||
#include "llvm/Support/Dwarf.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
using namespace llvm;
|
||||
using namespace dwarf;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Mach-O Target
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
void PPCMachOTargetObjectFile::Initialize(MCContext &Ctx,
|
||||
const TargetMachine &TM) {
|
||||
TargetLoweringObjectFileMachO::Initialize(Ctx, TM);
|
||||
|
||||
// Exception Handling.
|
||||
LSDASection = getMachOSection("__TEXT", "__gcc_except_tab", 0,
|
||||
SectionKind::getReadOnlyWithRel());
|
||||
}
|
||||
|
||||
unsigned PPCMachOTargetObjectFile::getTTypeEncoding() const {
|
||||
return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
//===-- llvm/Target/PPCTargetObjectFile.h - PowerPC Object Info -*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_TARGET_PPC_TARGETOBJECTFILE_H
|
||||
#define LLVM_TARGET_PPC_TARGETOBJECTFILE_H
|
||||
|
||||
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
class MCContext;
|
||||
class TargetMachine;
|
||||
|
||||
// FIXME: This subclass isn't 100% necessary. It will become obsolete once we
|
||||
// can place all LSDAs into the TEXT section. See
|
||||
// <rdar://problem/6804645>.
|
||||
class PPCMachOTargetObjectFile : public TargetLoweringObjectFileMachO {
|
||||
public:
|
||||
PPCMachOTargetObjectFile() : TargetLoweringObjectFileMachO() {}
|
||||
|
||||
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
|
||||
|
||||
virtual unsigned getTTypeEncoding() const;
|
||||
};
|
||||
|
||||
} // end namespace llvm
|
||||
|
||||
#endif
|
@ -37,7 +37,6 @@
|
||||
#include "llvm/CodeGen/PseudoSourceValue.h"
|
||||
#include "llvm/MC/MCAsmInfo.h"
|
||||
#include "llvm/MC/MCContext.h"
|
||||
#include "llvm/MC/MCSectionMachO.h"
|
||||
#include "llvm/MC/MCSymbol.h"
|
||||
#include "llvm/ADT/BitVector.h"
|
||||
#include "llvm/ADT/SmallSet.h"
|
||||
@ -74,11 +73,6 @@ static TargetLoweringObjectFile *createTLOF(X86TargetMachine &TM) {
|
||||
switch (TM.getSubtarget<X86Subtarget>().TargetType) {
|
||||
default: llvm_unreachable("unknown subtarget type");
|
||||
case X86Subtarget::isDarwin:
|
||||
if (TM.getSubtarget<X86Subtarget>().is64Bit())
|
||||
return new X8664_MachoTargetObjectFile();
|
||||
else
|
||||
return new X86_MachoTargetObjectFile();
|
||||
|
||||
if (TM.getSubtarget<X86Subtarget>().is64Bit())
|
||||
return new X8664_MachoTargetObjectFile();
|
||||
return new TargetLoweringObjectFileMachO();
|
||||
|
@ -19,19 +19,6 @@
|
||||
using namespace llvm;
|
||||
using namespace dwarf;
|
||||
|
||||
void X86_MachoTargetObjectFile::Initialize(MCContext &Ctx,
|
||||
const TargetMachine &TM) {
|
||||
TargetLoweringObjectFileMachO::Initialize(Ctx, TM);
|
||||
|
||||
// Exception Handling.
|
||||
LSDASection = getMachOSection("__TEXT", "__gcc_except_tab", 0,
|
||||
SectionKind::getReadOnlyWithRel());
|
||||
}
|
||||
|
||||
unsigned X86_MachoTargetObjectFile::getTTypeEncoding() const {
|
||||
return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
|
||||
}
|
||||
|
||||
const MCExpr *X8664_MachoTargetObjectFile::
|
||||
getExprForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
|
||||
MachineModuleInfo *MMI, unsigned Encoding,
|
||||
|
@ -17,18 +17,9 @@
|
||||
namespace llvm {
|
||||
class X86TargetMachine;
|
||||
|
||||
/// X86_MachoTargetObjectFile - This TLOF implementation is used for Darwin
|
||||
/// x86 variants.
|
||||
class X86_MachoTargetObjectFile : public TargetLoweringObjectFileMachO {
|
||||
public:
|
||||
virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
|
||||
|
||||
virtual unsigned getTTypeEncoding() const;
|
||||
};
|
||||
|
||||
/// X8664_MachoTargetObjectFile - This TLOF implementation is used for Darwin
|
||||
/// x86-64.
|
||||
class X8664_MachoTargetObjectFile : public X86_MachoTargetObjectFile {
|
||||
class X8664_MachoTargetObjectFile : public TargetLoweringObjectFileMachO {
|
||||
public:
|
||||
virtual const MCExpr *
|
||||
getExprForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
|
||||
|
Loading…
x
Reference in New Issue
Block a user