[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:
Chandler Carruth 2015-02-01 12:38:24 +00:00
parent 5dffd27576
commit d12af8754e
8 changed files with 12 additions and 16 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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.

View File

@ -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.

View File

@ -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)

View File

@ -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)