mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-23 04:35:43 +00:00
[multiversion] Remove a false freedom to leave the TargetMachine pointer
null. For some reason some of the original TTI code supported a null target machine. This seems to have been legacy, and I made matters worse when refactoring this code by spreading that pattern further through the various targets. The TargetMachine can't actually be null, and it doesn't make sense to support that use case. I've now consistently removed it and removed all of the code trying to cope with that situation. This is probably good, as several targets *didn't* cope with it being null despite the null default argument in their constructors. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227734 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5dffd27576
commit
d12af8754e
@ -628,7 +628,7 @@ class BasicTTIImpl : public BasicTTIImplBase<BasicTTIImpl> {
|
||||
typedef BasicTTIImplBase<BasicTTIImpl> BaseT;
|
||||
|
||||
public:
|
||||
explicit BasicTTIImpl(const TargetMachine *TM = nullptr);
|
||||
explicit BasicTTIImpl(const TargetMachine *TM);
|
||||
|
||||
// Provide value semantics. MSVC requires that we spell all of these out.
|
||||
BasicTTIImpl(const BasicTTIImpl &Arg)
|
||||
|
@ -44,9 +44,8 @@ class AArch64TTIImpl : public BasicTTIImplBase<AArch64TTIImpl> {
|
||||
};
|
||||
|
||||
public:
|
||||
explicit AArch64TTIImpl(const AArch64TargetMachine *TM = nullptr)
|
||||
: BaseT(TM), ST(TM ? TM->getSubtargetImpl() : nullptr),
|
||||
TLI(ST ? ST->getTargetLowering() : nullptr) {}
|
||||
explicit AArch64TTIImpl(const AArch64TargetMachine *TM)
|
||||
: BaseT(TM), ST(TM->getSubtargetImpl()), TLI(ST->getTargetLowering()) {}
|
||||
|
||||
// Provide value semantics. MSVC requires that we spell all of these out.
|
||||
AArch64TTIImpl(const AArch64TTIImpl &Arg)
|
||||
|
@ -37,9 +37,8 @@ class ARMTTIImpl : public BasicTTIImplBase<ARMTTIImpl> {
|
||||
unsigned getScalarizationOverhead(Type *Ty, bool Insert, bool Extract);
|
||||
|
||||
public:
|
||||
explicit ARMTTIImpl(const ARMBaseTargetMachine *TM = nullptr)
|
||||
: BaseT(TM), ST(TM ? TM->getSubtargetImpl() : nullptr),
|
||||
TLI(ST ? ST->getTargetLowering() : nullptr) {}
|
||||
explicit ARMTTIImpl(const ARMBaseTargetMachine *TM)
|
||||
: BaseT(TM), ST(TM->getSubtargetImpl()), TLI(ST->getTargetLowering()) {}
|
||||
|
||||
// Provide value semantics. MSVC requires that we spell all of these out.
|
||||
ARMTTIImpl(const ARMTTIImpl &Arg)
|
||||
|
@ -32,9 +32,8 @@ class NVPTXTTIImpl : public BasicTTIImplBase<NVPTXTTIImpl> {
|
||||
const NVPTXTargetLowering *TLI;
|
||||
|
||||
public:
|
||||
explicit NVPTXTTIImpl(const NVPTXTargetMachine *TM = nullptr)
|
||||
: BaseT(TM),
|
||||
TLI(TM ? TM->getSubtargetImpl()->getTargetLowering() : nullptr) {}
|
||||
explicit NVPTXTTIImpl(const NVPTXTargetMachine *TM)
|
||||
: BaseT(TM), TLI(TM->getSubtargetImpl()->getTargetLowering()) {}
|
||||
|
||||
// Provide value semantics. MSVC requires that we spell all of these out.
|
||||
NVPTXTTIImpl(const NVPTXTTIImpl &Arg)
|
||||
|
@ -33,7 +33,7 @@ class PPCTTIImpl : public BasicTTIImplBase<PPCTTIImpl> {
|
||||
const PPCTargetLowering *TLI;
|
||||
|
||||
public:
|
||||
explicit PPCTTIImpl(const PPCTargetMachine *TM = nullptr)
|
||||
explicit PPCTTIImpl(const PPCTargetMachine *TM)
|
||||
: BaseT(TM), ST(TM->getSubtargetImpl()), TLI(ST->getTargetLowering()) {}
|
||||
|
||||
// Provide value semantics. MSVC requires that we spell all of these out.
|
||||
|
@ -32,7 +32,7 @@ class AMDGPUTTIImpl : public BasicTTIImplBase<AMDGPUTTIImpl> {
|
||||
const AMDGPUSubtarget *ST;
|
||||
|
||||
public:
|
||||
explicit AMDGPUTTIImpl(const AMDGPUTargetMachine *TM = nullptr)
|
||||
explicit AMDGPUTTIImpl(const AMDGPUTargetMachine *TM)
|
||||
: BaseT(TM), ST(TM->getSubtargetImpl()) {}
|
||||
|
||||
// Provide value semantics. MSVC requires that we spell all of these out.
|
||||
|
@ -35,9 +35,8 @@ class X86TTIImpl : public BasicTTIImplBase<X86TTIImpl> {
|
||||
unsigned getScalarizationOverhead(Type *Ty, bool Insert, bool Extract);
|
||||
|
||||
public:
|
||||
explicit X86TTIImpl(const X86TargetMachine *TM = nullptr)
|
||||
: BaseT(TM), ST(TM ? TM->getSubtargetImpl() : nullptr),
|
||||
TLI(ST ? ST->getTargetLowering() : nullptr) {}
|
||||
explicit X86TTIImpl(const X86TargetMachine *TM)
|
||||
: BaseT(TM), ST(TM->getSubtargetImpl()), TLI(ST->getTargetLowering()) {}
|
||||
|
||||
// Provide value semantics. MSVC requires that we spell all of these out.
|
||||
X86TTIImpl(const X86TTIImpl &Arg)
|
||||
|
@ -30,7 +30,7 @@ class XCoreTTIImpl : public BasicTTIImplBase<XCoreTTIImpl> {
|
||||
typedef TargetTransformInfo TTI;
|
||||
|
||||
public:
|
||||
explicit XCoreTTIImpl(const XCoreTargetMachine *TM = nullptr) : BaseT(TM) {}
|
||||
explicit XCoreTTIImpl(const XCoreTargetMachine *TM) : BaseT(TM) {}
|
||||
|
||||
// Provide value semantics. MSVC requires that we spell all of these out.
|
||||
XCoreTTIImpl(const XCoreTTIImpl &Arg)
|
||||
|
Loading…
x
Reference in New Issue
Block a user