mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 11:02:59 +02: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. llvm-svn: 98580
This commit is contained in:
parent
45a0ae21b8
commit
5493cf6715
@ -560,8 +560,8 @@ void TargetLoweringObjectFileMachO::Initialize(MCContext &Ctx,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Exception Handling.
|
// Exception Handling.
|
||||||
LSDASection = getMachOSection("__DATA", "__gcc_except_tab", 0,
|
LSDASection = getMachOSection("__TEXT", "__gcc_except_tab", 0,
|
||||||
SectionKind::getDataRel());
|
SectionKind::getReadOnlyWithRel());
|
||||||
EHFrameSection =
|
EHFrameSection =
|
||||||
getMachOSection("__TEXT", "__eh_frame",
|
getMachOSection("__TEXT", "__eh_frame",
|
||||||
MCSectionMachO::S_COALESCED |
|
MCSectionMachO::S_COALESCED |
|
||||||
@ -788,7 +788,7 @@ unsigned TargetLoweringObjectFileMachO::getFDEEncoding() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
unsigned TargetLoweringObjectFileMachO::getTTypeEncoding() 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) {
|
static TargetLoweringObjectFile *createTLOF(TargetMachine &TM) {
|
||||||
if (TM.getSubtarget<ARMSubtarget>().isTargetDarwin())
|
if (TM.getSubtarget<ARMSubtarget>().isTargetDarwin())
|
||||||
return new ARMMachOTargetObjectFile();
|
return new TargetLoweringObjectFileMachO();
|
||||||
|
|
||||||
return new ARMElfTargetObjectFile();
|
return new ARMElfTargetObjectFile();
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
#include "ARMTargetObjectFile.h"
|
#include "ARMTargetObjectFile.h"
|
||||||
#include "ARMSubtarget.h"
|
#include "ARMSubtarget.h"
|
||||||
#include "llvm/MC/MCSectionELF.h"
|
#include "llvm/MC/MCSectionELF.h"
|
||||||
#include "llvm/MC/MCSectionMachO.h"
|
|
||||||
#include "llvm/Support/Dwarf.h"
|
#include "llvm/Support/Dwarf.h"
|
||||||
#include "llvm/Target/TargetMachine.h"
|
#include "llvm/Target/TargetMachine.h"
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
@ -35,20 +34,3 @@ void ARMElfTargetObjectFile::Initialize(MCContext &Ctx,
|
|||||||
SectionKind::getDataRel());
|
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);
|
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
|
} // end namespace llvm
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -24,7 +24,6 @@ add_llvm_target(PowerPCCodeGen
|
|||||||
PPCRegisterInfo.cpp
|
PPCRegisterInfo.cpp
|
||||||
PPCSubtarget.cpp
|
PPCSubtarget.cpp
|
||||||
PPCTargetMachine.cpp
|
PPCTargetMachine.cpp
|
||||||
PPCTargetObjectFile.cpp
|
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries (LLVMPowerPCCodeGen LLVMSelectionDAG)
|
target_link_libraries (LLVMPowerPCCodeGen LLVMSelectionDAG)
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
#include "PPCPerfectShuffle.h"
|
#include "PPCPerfectShuffle.h"
|
||||||
#include "PPCPredicates.h"
|
#include "PPCPredicates.h"
|
||||||
#include "PPCTargetMachine.h"
|
#include "PPCTargetMachine.h"
|
||||||
#include "PPCTargetObjectFile.h"
|
|
||||||
#include "llvm/ADT/STLExtras.h"
|
#include "llvm/ADT/STLExtras.h"
|
||||||
#include "llvm/ADT/VectorExtras.h"
|
#include "llvm/ADT/VectorExtras.h"
|
||||||
#include "llvm/CodeGen/CallingConvLower.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) {
|
static TargetLoweringObjectFile *CreateTLOF(const PPCTargetMachine &TM) {
|
||||||
if (TM.getSubtargetImpl()->isDarwin())
|
if (TM.getSubtargetImpl()->isDarwin())
|
||||||
return new PPCMachOTargetObjectFile();
|
return new TargetLoweringObjectFileMachO();
|
||||||
|
|
||||||
return new TargetLoweringObjectFileELF();
|
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/CodeGen/PseudoSourceValue.h"
|
||||||
#include "llvm/MC/MCAsmInfo.h"
|
#include "llvm/MC/MCAsmInfo.h"
|
||||||
#include "llvm/MC/MCContext.h"
|
#include "llvm/MC/MCContext.h"
|
||||||
#include "llvm/MC/MCSectionMachO.h"
|
|
||||||
#include "llvm/MC/MCSymbol.h"
|
#include "llvm/MC/MCSymbol.h"
|
||||||
#include "llvm/ADT/BitVector.h"
|
#include "llvm/ADT/BitVector.h"
|
||||||
#include "llvm/ADT/SmallSet.h"
|
#include "llvm/ADT/SmallSet.h"
|
||||||
@ -74,11 +73,6 @@ static TargetLoweringObjectFile *createTLOF(X86TargetMachine &TM) {
|
|||||||
switch (TM.getSubtarget<X86Subtarget>().TargetType) {
|
switch (TM.getSubtarget<X86Subtarget>().TargetType) {
|
||||||
default: llvm_unreachable("unknown subtarget type");
|
default: llvm_unreachable("unknown subtarget type");
|
||||||
case X86Subtarget::isDarwin:
|
case X86Subtarget::isDarwin:
|
||||||
if (TM.getSubtarget<X86Subtarget>().is64Bit())
|
|
||||||
return new X8664_MachoTargetObjectFile();
|
|
||||||
else
|
|
||||||
return new X86_MachoTargetObjectFile();
|
|
||||||
|
|
||||||
if (TM.getSubtarget<X86Subtarget>().is64Bit())
|
if (TM.getSubtarget<X86Subtarget>().is64Bit())
|
||||||
return new X8664_MachoTargetObjectFile();
|
return new X8664_MachoTargetObjectFile();
|
||||||
return new TargetLoweringObjectFileMachO();
|
return new TargetLoweringObjectFileMachO();
|
||||||
|
@ -19,19 +19,6 @@
|
|||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
using namespace dwarf;
|
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::
|
const MCExpr *X8664_MachoTargetObjectFile::
|
||||||
getExprForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
|
getExprForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
|
||||||
MachineModuleInfo *MMI, unsigned Encoding,
|
MachineModuleInfo *MMI, unsigned Encoding,
|
||||||
|
@ -17,18 +17,9 @@
|
|||||||
namespace llvm {
|
namespace llvm {
|
||||||
class X86TargetMachine;
|
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
|
/// X8664_MachoTargetObjectFile - This TLOF implementation is used for Darwin
|
||||||
/// x86-64.
|
/// x86-64.
|
||||||
class X8664_MachoTargetObjectFile : public X86_MachoTargetObjectFile {
|
class X8664_MachoTargetObjectFile : public TargetLoweringObjectFileMachO {
|
||||||
public:
|
public:
|
||||||
virtual const MCExpr *
|
virtual const MCExpr *
|
||||||
getExprForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
|
getExprForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
|
||||||
|
Loading…
Reference in New Issue
Block a user