From f998fa2924c736e5b5c2cc6ddc222a36d0171470 Mon Sep 17 00:00:00 2001 From: Graham Hunter Date: Wed, 16 Oct 2019 16:33:41 +0000 Subject: [PATCH] [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 --- llvm/include/llvm/IR/DataLayout.h | 2 +- llvm/include/llvm/Support/TypeSize.h | 6 +++--- llvm/lib/IR/Instructions.cpp | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/llvm/include/llvm/IR/DataLayout.h b/llvm/include/llvm/IR/DataLayout.h index 022d2e9..08fd269 100644 --- a/llvm/include/llvm/IR/DataLayout.h +++ b/llvm/include/llvm/IR/DataLayout.h @@ -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() }; } diff --git a/llvm/include/llvm/Support/TypeSize.h b/llvm/include/llvm/Support/TypeSize.h index ea08358..711679c 100644 --- a/llvm/include/llvm/Support/TypeSize.h +++ b/llvm/include/llvm/Support/TypeSize.h @@ -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 }; diff --git a/llvm/lib/IR/Instructions.cpp b/llvm/lib/IR/Instructions.cpp index 2033180..579e38e 100644 --- a/llvm/lib/IR/Instructions.cpp +++ b/llvm/lib/IR/Instructions.cpp @@ -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 -- 2.7.4