forked from OSchip/llvm-project
[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:
parent
a9cfde1f6a
commit
f998fa2924
|
@ -453,7 +453,7 @@ public:
|
|||
///
|
||||
/// For example, returns 5 for i36 and 10 for x86_fp80.
|
||||
TypeSize getTypeStoreSize(Type *Ty) const {
|
||||
auto BaseSize = getTypeSizeInBits(Ty);
|
||||
TypeSize BaseSize = getTypeSizeInBits(Ty);
|
||||
return { (BaseSize.getKnownMinSize() + 7) / 8, BaseSize.isScalable() };
|
||||
}
|
||||
|
||||
|
|
|
@ -120,7 +120,7 @@ public:
|
|||
|
||||
// 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
|
||||
// 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 {
|
||||
assert(!IsScalable && "Request for a fixed size on a scalable object");
|
||||
return MinSize;
|
||||
|
@ -141,12 +141,12 @@ public:
|
|||
// 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
|
||||
// of LLVM in favour of calling getFixedSize() directly
|
||||
// of LLVM in favour of calling getFixedSize() directly.
|
||||
operator uint64_t() const {
|
||||
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?
|
||||
TypeSize operator*(uint64_t RHS) const {
|
||||
return { MinSize * RHS, IsScalable };
|
||||
|
|
|
@ -2983,8 +2983,8 @@ bool CastInst::isCastable(Type *SrcTy, Type *DestTy) {
|
|||
}
|
||||
|
||||
// Get the bit sizes, we'll need these
|
||||
auto SrcBits = SrcTy->getPrimitiveSizeInBits(); // 0 for ptr
|
||||
auto DestBits = DestTy->getPrimitiveSizeInBits(); // 0 for ptr
|
||||
TypeSize SrcBits = SrcTy->getPrimitiveSizeInBits(); // 0 for ptr
|
||||
TypeSize DestBits = DestTy->getPrimitiveSizeInBits(); // 0 for ptr
|
||||
|
||||
// Run through the possibilities ...
|
||||
if (DestTy->isIntegerTy()) { // Casting to integral
|
||||
|
@ -3045,8 +3045,8 @@ bool CastInst::isBitCastable(Type *SrcTy, Type *DestTy) {
|
|||
}
|
||||
}
|
||||
|
||||
auto SrcBits = SrcTy->getPrimitiveSizeInBits(); // 0 for ptr
|
||||
auto DestBits = DestTy->getPrimitiveSizeInBits(); // 0 for ptr
|
||||
TypeSize SrcBits = SrcTy->getPrimitiveSizeInBits(); // 0 for ptr
|
||||
TypeSize DestBits = DestTy->getPrimitiveSizeInBits(); // 0 for ptr
|
||||
|
||||
// Could still have vectors of pointers if the number of elements doesn't
|
||||
// match
|
||||
|
|
Loading…
Reference in New Issue