mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
We can get the TLOF from the TargetMachine - so constructor no longer requires TargetLoweringObjectFile to be passed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221926 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a9cc4e7e35
commit
365df40768
@ -138,8 +138,7 @@ public:
|
||||
}
|
||||
|
||||
/// NOTE: The TargetMachine owns TLOF.
|
||||
explicit TargetLoweringBase(const TargetMachine &TM,
|
||||
const TargetLoweringObjectFile *TLOF);
|
||||
explicit TargetLoweringBase(const TargetMachine &TM);
|
||||
virtual ~TargetLoweringBase() {}
|
||||
|
||||
protected:
|
||||
@ -149,7 +148,9 @@ protected:
|
||||
public:
|
||||
const TargetMachine &getTargetMachine() const { return TM; }
|
||||
const DataLayout *getDataLayout() const { return DL; }
|
||||
const TargetLoweringObjectFile &getObjFileLowering() const { return TLOF; }
|
||||
const TargetLoweringObjectFile &getObjFileLowering() const {
|
||||
return *TM.getObjFileLowering();
|
||||
}
|
||||
|
||||
bool isBigEndian() const { return !IsLittleEndian; }
|
||||
bool isLittleEndian() const { return IsLittleEndian; }
|
||||
@ -1554,7 +1555,6 @@ public:
|
||||
private:
|
||||
const TargetMachine &TM;
|
||||
const DataLayout *DL;
|
||||
const TargetLoweringObjectFile &TLOF;
|
||||
|
||||
/// True if this is a little endian target.
|
||||
bool IsLittleEndian;
|
||||
@ -1964,9 +1964,8 @@ class TargetLowering : public TargetLoweringBase {
|
||||
void operator=(const TargetLowering&) LLVM_DELETED_FUNCTION;
|
||||
|
||||
public:
|
||||
/// NOTE: The constructor takes ownership of TLOF.
|
||||
explicit TargetLowering(const TargetMachine &TM,
|
||||
const TargetLoweringObjectFile *TLOF);
|
||||
/// NOTE: The TargetMachine owns TLOF.
|
||||
explicit TargetLowering(const TargetMachine &TM);
|
||||
|
||||
/// Returns true by value, base pointer and offset pointer and addressing mode
|
||||
/// by reference if the node's address can be legally represented as
|
||||
|
@ -35,10 +35,9 @@
|
||||
#include <cctype>
|
||||
using namespace llvm;
|
||||
|
||||
/// NOTE: The constructor takes ownership of TLOF.
|
||||
TargetLowering::TargetLowering(const TargetMachine &tm,
|
||||
const TargetLoweringObjectFile *tlof)
|
||||
: TargetLoweringBase(tm, tlof) {}
|
||||
/// NOTE: The TargetMachine owns TLOF.
|
||||
TargetLowering::TargetLowering(const TargetMachine &tm)
|
||||
: TargetLoweringBase(tm) {}
|
||||
|
||||
const char *TargetLowering::getTargetNodeName(unsigned Opcode) const {
|
||||
return nullptr;
|
||||
|
@ -694,10 +694,9 @@ static void InitCmpLibcallCCs(ISD::CondCode *CCs) {
|
||||
CCs[RTLIB::O_F128] = ISD::SETEQ;
|
||||
}
|
||||
|
||||
/// NOTE: The constructor takes ownership of TLOF.
|
||||
TargetLoweringBase::TargetLoweringBase(const TargetMachine &tm,
|
||||
const TargetLoweringObjectFile *tlof)
|
||||
: TM(tm), DL(TM.getSubtargetImpl()->getDataLayout()), TLOF(*tlof) {
|
||||
/// NOTE: The TargetMachine owns TLOF.
|
||||
TargetLoweringBase::TargetLoweringBase(const TargetMachine &tm)
|
||||
: TM(tm), DL(TM.getSubtargetImpl()->getDataLayout()) {
|
||||
initActions();
|
||||
|
||||
// Perform these initializations only once.
|
||||
|
@ -68,7 +68,7 @@ EnableAArch64SlrGeneration("aarch64-shift-insert-generation", cl::Hidden,
|
||||
|
||||
|
||||
AArch64TargetLowering::AArch64TargetLowering(const TargetMachine &TM)
|
||||
: TargetLowering(TM, TM.getObjFileLowering()) {
|
||||
: TargetLowering(TM) {
|
||||
Subtarget = &TM.getSubtarget<AArch64Subtarget>();
|
||||
|
||||
// AArch64 doesn't have comparisons which set GPRs or setcc instructions, so
|
||||
|
@ -157,7 +157,7 @@ void ARMTargetLowering::addQRTypeForNEON(MVT VT) {
|
||||
}
|
||||
|
||||
ARMTargetLowering::ARMTargetLowering(const TargetMachine &TM)
|
||||
: TargetLowering(TM, TM.getObjFileLowering()) {
|
||||
: TargetLowering(TM) {
|
||||
Subtarget = &TM.getSubtarget<ARMSubtarget>();
|
||||
RegInfo = TM.getSubtargetImpl()->getRegisterInfo();
|
||||
Itins = TM.getSubtargetImpl()->getInstrItineraryData();
|
||||
|
@ -1043,7 +1043,7 @@ HexagonTargetLowering::LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const {
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
HexagonTargetLowering::HexagonTargetLowering(const TargetMachine &targetmachine)
|
||||
: TargetLowering(targetmachine, targetmachine.getObjFileLowering()),
|
||||
: TargetLowering(targetmachine),
|
||||
TM(targetmachine) {
|
||||
|
||||
const HexagonSubtarget &Subtarget = TM.getSubtarget<HexagonSubtarget>();
|
||||
|
@ -58,7 +58,7 @@ HWMultMode("msp430-hwmult-mode", cl::Hidden,
|
||||
clEnumValEnd));
|
||||
|
||||
MSP430TargetLowering::MSP430TargetLowering(const TargetMachine &TM)
|
||||
: TargetLowering(TM, TM.getObjFileLowering()) {
|
||||
: TargetLowering(TM) {
|
||||
|
||||
// Set up the register classes.
|
||||
addRegisterClass(MVT::i8, &MSP430::GR8RegClass);
|
||||
|
@ -203,7 +203,7 @@ const char *MipsTargetLowering::getTargetNodeName(unsigned Opcode) const {
|
||||
|
||||
MipsTargetLowering::MipsTargetLowering(const MipsTargetMachine &TM,
|
||||
const MipsSubtarget &STI)
|
||||
: TargetLowering(TM, TM.getObjFileLowering()), Subtarget(STI) {
|
||||
: TargetLowering(TM), Subtarget(STI) {
|
||||
// Mips does not have i1 type, so use i32 for
|
||||
// setcc operations results (slt, sgt, ...).
|
||||
setBooleanContents(ZeroOrOneBooleanContent);
|
||||
|
@ -107,7 +107,7 @@ static void ComputePTXValueVTs(const TargetLowering &TLI, Type *Ty,
|
||||
|
||||
// NVPTXTargetLowering Constructor.
|
||||
NVPTXTargetLowering::NVPTXTargetLowering(const NVPTXTargetMachine &TM)
|
||||
: TargetLowering(TM, TM.getObjFileLowering()), nvTM(&TM),
|
||||
: TargetLowering(TM), nvTM(&TM),
|
||||
nvptxSubtarget(TM.getSubtarget<NVPTXSubtarget>()) {
|
||||
|
||||
// always lower memset, memcpy, and memmove intrinsics to load/store
|
||||
|
@ -56,7 +56,7 @@ cl::desc("disable unaligned load/store generation on PPC"), cl::Hidden);
|
||||
extern cl::opt<bool> ANDIGlueBug;
|
||||
|
||||
PPCTargetLowering::PPCTargetLowering(const PPCTargetMachine &TM)
|
||||
: TargetLowering(TM, TM.getObjFileLowering()),
|
||||
: TargetLowering(TM),
|
||||
Subtarget(*TM.getSubtargetImpl()) {
|
||||
setPow2SDivIsCheap();
|
||||
|
||||
|
@ -103,7 +103,7 @@ EVT AMDGPUTargetLowering::getEquivalentLoadRegType(LLVMContext &Ctx, EVT VT) {
|
||||
}
|
||||
|
||||
AMDGPUTargetLowering::AMDGPUTargetLowering(TargetMachine &TM) :
|
||||
TargetLowering(TM, TM.getObjFileLowering()) {
|
||||
TargetLowering(TM) {
|
||||
|
||||
Subtarget = &TM.getSubtarget<AMDGPUSubtarget>();
|
||||
|
||||
|
@ -1366,7 +1366,7 @@ static SPCC::CondCodes FPCondCCodeToFCC(ISD::CondCode CC) {
|
||||
}
|
||||
|
||||
SparcTargetLowering::SparcTargetLowering(TargetMachine &TM)
|
||||
: TargetLowering(TM, TM.getObjFileLowering()) {
|
||||
: TargetLowering(TM) {
|
||||
Subtarget = &TM.getSubtarget<SparcSubtarget>();
|
||||
|
||||
// Set up the register classes.
|
||||
|
@ -81,7 +81,7 @@ static MachineOperand earlyUseOperand(MachineOperand Op) {
|
||||
}
|
||||
|
||||
SystemZTargetLowering::SystemZTargetLowering(const TargetMachine &tm)
|
||||
: TargetLowering(tm, tm.getObjFileLowering()),
|
||||
: TargetLowering(tm),
|
||||
Subtarget(tm.getSubtarget<SystemZSubtarget>()) {
|
||||
MVT PtrVT = getPointerTy();
|
||||
|
||||
|
@ -202,7 +202,7 @@ static SDValue Concat256BitVectors(SDValue V1, SDValue V2, EVT VT,
|
||||
// FIXME: This should stop caching the target machine as soon as
|
||||
// we can remove resetOperationActions et al.
|
||||
X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM)
|
||||
: TargetLowering(TM, TM.getObjFileLowering()) {
|
||||
: TargetLowering(TM) {
|
||||
Subtarget = &TM.getSubtarget<X86Subtarget>();
|
||||
X86ScalarSSEf64 = Subtarget->hasSSE2();
|
||||
X86ScalarSSEf32 = Subtarget->hasSSE1();
|
||||
|
@ -69,7 +69,7 @@ getTargetNodeName(unsigned Opcode) const
|
||||
}
|
||||
|
||||
XCoreTargetLowering::XCoreTargetLowering(const TargetMachine &TM)
|
||||
: TargetLowering(TM, TM.getObjFileLowering()), TM(TM),
|
||||
: TargetLowering(TM), TM(TM),
|
||||
Subtarget(TM.getSubtarget<XCoreSubtarget>()) {
|
||||
|
||||
// Set up the register classes.
|
||||
|
Loading…
Reference in New Issue
Block a user