]> granicus.if.org Git - llvm/commitdiff
[Hexagon] assert getRegisterBitWidth returns non-zero value. NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 22 May 2019 12:25:46 +0000 (12:25 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 22 May 2019 12:25:46 +0000 (12:25 +0000)
Fixes scan-build warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361375 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Hexagon/HexagonTargetTransformInfo.cpp

index c817cb1842de6e70a8af2efa3ee98b59dc70896d..38062e8e922c7c612af8df8716f4784ef4118e01 100644 (file)
@@ -160,14 +160,15 @@ unsigned HexagonTTIImpl::getMemoryOpCost(unsigned Opcode, Type *Src,
     unsigned VecWidth = VecTy->getBitWidth();
     if (useHVX() && isTypeForHVX(VecTy)) {
       unsigned RegWidth = getRegisterBitWidth(true);
-      Alignment = std::min(Alignment, RegWidth/8);
+      assert(RegWidth && "Non-zero vector register width expected");
       // Cost of HVX loads.
       if (VecWidth % RegWidth == 0)
         return VecWidth / RegWidth;
       // Cost of constructing HVX vector from scalar loads.
+      Alignment = std::min(Alignment, RegWidth / 8);
       unsigned AlignWidth = 8 * std::max(1u, Alignment);
       unsigned NumLoads = alignTo(VecWidth, AlignWidth) / AlignWidth;
-      return 3*NumLoads;
+      return 3 * NumLoads;
     }
 
     // Non-HVX vectors.