Const correctness for TTI::getRegisterBitWidth
Summary: The method TargetTransformInfo::getRegisterBitWidth() is declared const, but the type erasing implementation classes (TargetTransformInfo::Concept & TargetTransformInfo::Model) that were introduced by Chandler in https://reviews.llvm.org/D7293 do not have the method declared const. This is an NFC to tidy up the const consistency between TTI and its implementation. Reviewers: chandlerc, rnk, reames Reviewed By: reames Subscribers: reames, jfb, arsenm, dschuff, nemanjai, nhaehnle, javed.absar, sbc100, jgravelle-google, llvm-commits Differential Revision: https://reviews.llvm.org/D33903 llvm-svn: 305189
This commit is contained in:
parent
41b4f1aa83
commit
c0112ae8da
|
@ -873,7 +873,7 @@ public:
|
|||
virtual int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
|
||||
Type *Ty) = 0;
|
||||
virtual unsigned getNumberOfRegisters(bool Vector) = 0;
|
||||
virtual unsigned getRegisterBitWidth(bool Vector) = 0;
|
||||
virtual unsigned getRegisterBitWidth(bool Vector) const = 0;
|
||||
virtual unsigned getMinVectorRegisterBitWidth() = 0;
|
||||
virtual bool shouldConsiderAddressTypePromotion(
|
||||
const Instruction &I, bool &AllowPromotionWithoutCommonHeader) = 0;
|
||||
|
@ -1119,7 +1119,7 @@ public:
|
|||
unsigned getNumberOfRegisters(bool Vector) override {
|
||||
return Impl.getNumberOfRegisters(Vector);
|
||||
}
|
||||
unsigned getRegisterBitWidth(bool Vector) override {
|
||||
unsigned getRegisterBitWidth(bool Vector) const override {
|
||||
return Impl.getRegisterBitWidth(Vector);
|
||||
}
|
||||
unsigned getMinVectorRegisterBitWidth() override {
|
||||
|
|
|
@ -320,7 +320,7 @@ public:
|
|||
|
||||
unsigned getNumberOfRegisters(bool Vector) { return 8; }
|
||||
|
||||
unsigned getRegisterBitWidth(bool Vector) { return 32; }
|
||||
unsigned getRegisterBitWidth(bool Vector) const { return 32; }
|
||||
|
||||
unsigned getMinVectorRegisterBitWidth() { return 128; }
|
||||
|
||||
|
|
|
@ -346,7 +346,7 @@ public:
|
|||
|
||||
unsigned getNumberOfRegisters(bool Vector) { return Vector ? 0 : 1; }
|
||||
|
||||
unsigned getRegisterBitWidth(bool Vector) { return 32; }
|
||||
unsigned getRegisterBitWidth(bool Vector) const { return 32; }
|
||||
|
||||
/// Estimate the overhead of scalarizing an instruction. Insert and Extract
|
||||
/// are set if the result needs to be inserted and/or extracted from vectors.
|
||||
|
|
|
@ -78,7 +78,7 @@ public:
|
|||
return 31;
|
||||
}
|
||||
|
||||
unsigned getRegisterBitWidth(bool Vector) {
|
||||
unsigned getRegisterBitWidth(bool Vector) const {
|
||||
if (Vector) {
|
||||
if (ST->hasNEON())
|
||||
return 128;
|
||||
|
|
|
@ -195,7 +195,7 @@ unsigned AMDGPUTTIImpl::getNumberOfRegisters(bool Vec) {
|
|||
return 4 * 128; // XXX - 4 channels. Should these count as vector instead?
|
||||
}
|
||||
|
||||
unsigned AMDGPUTTIImpl::getRegisterBitWidth(bool Vector) {
|
||||
unsigned AMDGPUTTIImpl::getRegisterBitWidth(bool Vector) const {
|
||||
return Vector ? 0 : 32;
|
||||
}
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ public:
|
|||
}
|
||||
|
||||
unsigned getNumberOfRegisters(bool Vector);
|
||||
unsigned getRegisterBitWidth(bool Vector);
|
||||
unsigned getRegisterBitWidth(bool Vector) const;
|
||||
unsigned getLoadStoreVecRegBitWidth(unsigned AddrSpace) const;
|
||||
|
||||
bool isLegalToVectorizeMemChain(unsigned ChainSizeInBytes,
|
||||
|
|
|
@ -78,7 +78,7 @@ public:
|
|||
return 13;
|
||||
}
|
||||
|
||||
unsigned getRegisterBitWidth(bool Vector) {
|
||||
unsigned getRegisterBitWidth(bool Vector) const {
|
||||
if (Vector) {
|
||||
if (ST->hasNEON())
|
||||
return 128;
|
||||
|
|
|
@ -230,7 +230,7 @@ unsigned PPCTTIImpl::getNumberOfRegisters(bool Vector) {
|
|||
return ST->hasVSX() ? 64 : 32;
|
||||
}
|
||||
|
||||
unsigned PPCTTIImpl::getRegisterBitWidth(bool Vector) {
|
||||
unsigned PPCTTIImpl::getRegisterBitWidth(bool Vector) const {
|
||||
if (Vector) {
|
||||
if (ST->hasQPX()) return 256;
|
||||
if (ST->hasAltivec()) return 128;
|
||||
|
|
|
@ -63,7 +63,7 @@ public:
|
|||
bool expandMemCmp(Instruction *I, unsigned &MaxLoadSize);
|
||||
bool enableInterleavedAccessVectorization();
|
||||
unsigned getNumberOfRegisters(bool Vector);
|
||||
unsigned getRegisterBitWidth(bool Vector);
|
||||
unsigned getRegisterBitWidth(bool Vector) const;
|
||||
unsigned getCacheLineSize();
|
||||
unsigned getPrefetchDistance();
|
||||
unsigned getMaxInterleaveFactor(unsigned VF);
|
||||
|
|
|
@ -302,7 +302,7 @@ unsigned SystemZTTIImpl::getNumberOfRegisters(bool Vector) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
unsigned SystemZTTIImpl::getRegisterBitWidth(bool Vector) {
|
||||
unsigned SystemZTTIImpl::getRegisterBitWidth(bool Vector) const {
|
||||
if (!Vector)
|
||||
return 64;
|
||||
if (ST->hasVector())
|
||||
|
|
|
@ -53,7 +53,7 @@ public:
|
|||
/// @{
|
||||
|
||||
unsigned getNumberOfRegisters(bool Vector);
|
||||
unsigned getRegisterBitWidth(bool Vector);
|
||||
unsigned getRegisterBitWidth(bool Vector) const;
|
||||
|
||||
bool prefersVectorizedAddressing() { return false; }
|
||||
bool supportsEfficientVectorElementLoadStore() { return true; }
|
||||
|
|
|
@ -36,7 +36,7 @@ unsigned WebAssemblyTTIImpl::getNumberOfRegisters(bool Vector) {
|
|||
return Result;
|
||||
}
|
||||
|
||||
unsigned WebAssemblyTTIImpl::getRegisterBitWidth(bool Vector) {
|
||||
unsigned WebAssemblyTTIImpl::getRegisterBitWidth(bool Vector) const {
|
||||
if (Vector && getST()->hasSIMD128())
|
||||
return 128;
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ public:
|
|||
/// @{
|
||||
|
||||
unsigned getNumberOfRegisters(bool Vector);
|
||||
unsigned getRegisterBitWidth(bool Vector);
|
||||
unsigned getRegisterBitWidth(bool Vector) const;
|
||||
unsigned getArithmeticInstrCost(
|
||||
unsigned Opcode, Type *Ty,
|
||||
TTI::OperandValueKind Opd1Info = TTI::OK_AnyValue,
|
||||
|
|
Loading…
Reference in New Issue