summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2019-05-22 12:25:46 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2019-05-22 12:25:46 +0000
commit9b40dd6318b9e15bac2daa09e7563676d43e6ccf (patch)
treeaa68b7fe06a6b97eb189e34b050588601c729749
parent529141e4ad33551a1dd0c59e28f1462d7a8b411c (diff)
downloadbcm5719-llvm-9b40dd6318b9e15bac2daa09e7563676d43e6ccf.tar.gz
bcm5719-llvm-9b40dd6318b9e15bac2daa09e7563676d43e6ccf.zip
[Hexagon] assert getRegisterBitWidth returns non-zero value. NFCI.
Fixes scan-build warning. llvm-svn: 361375
-rw-r--r--llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
index c817cb1842d..38062e8e922 100644
--- a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
@@ -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.
OpenPOWER on IntegriCloud