forked from OSchip/llvm-project
[CodeGen] Fix wrong use of getVectorNumElements in PromoteIntRes_EXTRACT_SUBVECTOR
Calling getVectorNumElements() is not safe for scalable vectors and we should normally use getVectorElementCount() instead. However, for the code changed in this patch I decided to simply move the instantiation of the variable 'OutNumElems' lower down to the place where only fixed-width vectors are used, and hence it is safe to call getVectorNumElements(). Fixes up one warning in this test: sve-sext-zext.ll Differential Revision: https://reviews.llvm.org/D83195
This commit is contained in:
parent
cfcf8e17ef
commit
5b14f5051f
|
@ -4334,7 +4334,6 @@ SDValue DAGTypeLegalizer::PromoteIntRes_EXTRACT_SUBVECTOR(SDNode *N) {
|
|||
EVT OutVT = N->getValueType(0);
|
||||
EVT NOutVT = TLI.getTypeToTransformTo(*DAG.getContext(), OutVT);
|
||||
assert(NOutVT.isVector() && "This type must be promoted to a vector type");
|
||||
unsigned OutNumElems = OutVT.getVectorNumElements();
|
||||
EVT NOutVTElem = NOutVT.getVectorElementType();
|
||||
|
||||
SDLoc dl(N);
|
||||
|
@ -4371,6 +4370,7 @@ SDValue DAGTypeLegalizer::PromoteIntRes_EXTRACT_SUBVECTOR(SDNode *N) {
|
|||
|
||||
EVT InVT = InOp0.getValueType();
|
||||
|
||||
unsigned OutNumElems = OutVT.getVectorNumElements();
|
||||
SmallVector<SDValue, 8> Ops;
|
||||
Ops.reserve(OutNumElems);
|
||||
for (unsigned i = 0; i != OutNumElems; ++i) {
|
||||
|
|
Loading…
Reference in New Issue