[SVE][IR] Small TypeSize improvements left out of initial commit

The commit for D53137 left out the last round of improvements
requested by reviewers. Adding those in now.

llvm-svn: 375013
This commit is contained in:
Graham Hunter 2019-10-16 16:33:41 +00:00
parent a9cfde1f6a
commit f998fa2924
3 changed files with 8 additions and 8 deletions

View File

@ -453,7 +453,7 @@ public:
/// ///
/// For example, returns 5 for i36 and 10 for x86_fp80. /// For example, returns 5 for i36 and 10 for x86_fp80.
TypeSize getTypeStoreSize(Type *Ty) const { TypeSize getTypeStoreSize(Type *Ty) const {
auto BaseSize = getTypeSizeInBits(Ty); TypeSize BaseSize = getTypeSizeInBits(Ty);
return { (BaseSize.getKnownMinSize() + 7) / 8, BaseSize.isScalable() }; return { (BaseSize.getKnownMinSize() + 7) / 8, BaseSize.isScalable() };
} }

View File

@ -120,7 +120,7 @@ public:
// Return the minimum size with the assumption that the size is exact. // Return the minimum size with the assumption that the size is exact.
// Use in places where a scalable size doesn't make sense (e.g. non-vector // Use in places where a scalable size doesn't make sense (e.g. non-vector
// types, or vectors in backends which don't support scalable vectors) // types, or vectors in backends which don't support scalable vectors).
uint64_t getFixedSize() const { uint64_t getFixedSize() const {
assert(!IsScalable && "Request for a fixed size on a scalable object"); assert(!IsScalable && "Request for a fixed size on a scalable object");
return MinSize; return MinSize;
@ -141,12 +141,12 @@ public:
// Casts to a uint64_t if this is a fixed-width size. // Casts to a uint64_t if this is a fixed-width size.
// //
// NOTE: This interface is obsolete and will be removed in a future version // NOTE: This interface is obsolete and will be removed in a future version
// of LLVM in favour of calling getFixedSize() directly // of LLVM in favour of calling getFixedSize() directly.
operator uint64_t() const { operator uint64_t() const {
return getFixedSize(); return getFixedSize();
} }
// Additional convenience operators needed to avoid ambiguous parses // Additional convenience operators needed to avoid ambiguous parses.
// TODO: Make uint64_t the default operator? // TODO: Make uint64_t the default operator?
TypeSize operator*(uint64_t RHS) const { TypeSize operator*(uint64_t RHS) const {
return { MinSize * RHS, IsScalable }; return { MinSize * RHS, IsScalable };

View File

@ -2983,8 +2983,8 @@ bool CastInst::isCastable(Type *SrcTy, Type *DestTy) {
} }
// Get the bit sizes, we'll need these // Get the bit sizes, we'll need these
auto SrcBits = SrcTy->getPrimitiveSizeInBits(); // 0 for ptr TypeSize SrcBits = SrcTy->getPrimitiveSizeInBits(); // 0 for ptr
auto DestBits = DestTy->getPrimitiveSizeInBits(); // 0 for ptr TypeSize DestBits = DestTy->getPrimitiveSizeInBits(); // 0 for ptr
// Run through the possibilities ... // Run through the possibilities ...
if (DestTy->isIntegerTy()) { // Casting to integral if (DestTy->isIntegerTy()) { // Casting to integral
@ -3045,8 +3045,8 @@ bool CastInst::isBitCastable(Type *SrcTy, Type *DestTy) {
} }
} }
auto SrcBits = SrcTy->getPrimitiveSizeInBits(); // 0 for ptr TypeSize SrcBits = SrcTy->getPrimitiveSizeInBits(); // 0 for ptr
auto DestBits = DestTy->getPrimitiveSizeInBits(); // 0 for ptr TypeSize DestBits = DestTy->getPrimitiveSizeInBits(); // 0 for ptr
// Could still have vectors of pointers if the number of elements doesn't // Could still have vectors of pointers if the number of elements doesn't
// match // match