[llvm] e602cd8 - [CodeGen] Fix warnings in getPackedVectorTypeFromPredicateType
David Sherwood via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 2 23:24:27 PDT 2020
Author: David Sherwood
Date: 2020-06-03T07:01:20+01:00
New Revision: e602cd878e308133cbbfdb73df686de2aa890bc1
URL: https://github.com/llvm/llvm-project/commit/e602cd878e308133cbbfdb73df686de2aa890bc1
DIFF: https://github.com/llvm/llvm-project/commit/e602cd878e308133cbbfdb73df686de2aa890bc1.diff
LOG: [CodeGen] Fix warnings in getPackedVectorTypeFromPredicateType
Use getVectorElementCount() instead of getVectorNumElements().
The code changed in this patch is covered by an existing test:
CodeGen/AArch64/sve-intrinsics-contiguous-prefetches.ll
Differential Revision: https://reviews.llvm.org/D80615
Added:
Modified:
llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp b/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
index f2c1727fd067..ed297d338855 100644
--- a/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
+++ b/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
@@ -4625,13 +4625,13 @@ static EVT getPackedVectorTypeFromPredicateType(LLVMContext &Ctx, EVT PredVT) {
if (!PredVT.isScalableVector() || PredVT.getVectorElementType() != MVT::i1)
return EVT();
- const unsigned NumElts = PredVT.getVectorNumElements();
-
- if (NumElts != 2 && NumElts != 4 && NumElts != 8 && NumElts != 16)
+ if (PredVT != MVT::nxv16i1 && PredVT != MVT::nxv8i1 &&
+ PredVT != MVT::nxv4i1 && PredVT != MVT::nxv2i1)
return EVT();
- EVT ScalarVT = EVT::getIntegerVT(Ctx, AArch64::SVEBitsPerBlock / NumElts);
- EVT MemVT = EVT::getVectorVT(Ctx, ScalarVT, NumElts, /*IsScalable=*/true);
+ ElementCount EC = PredVT.getVectorElementCount();
+ EVT ScalarVT = EVT::getIntegerVT(Ctx, AArch64::SVEBitsPerBlock / EC.Min);
+ EVT MemVT = EVT::getVectorVT(Ctx, ScalarVT, EC);
return MemVT;
}
More information about the llvm-commits
mailing list