Summary:
Removes usage of VectorType::getNumElements identified by test located
at CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c. This code explicitly
converts a potentially fixed length vector to scalable vector by
constructing the ElementCount = {getNumElements(), true}
Reviewers: rengolin, efriedma, kmclaughlin, c-rhodes, sdesmalen
Reviewed By: efriedma
Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D78967
// Return the overloaded type (which determines the pointers address space)
return Tys[D.getOverloadArgNumber()];
case IITDescriptor::ScalableVecArgument: {
- auto *Ty = cast<VectorType>(DecodeFixedType(Infos, Tys, Context));
- return VectorType::get(Ty->getElementType(), {Ty->getNumElements(), true});
+ auto *Ty = cast<FixedVectorType>(DecodeFixedType(Infos, Tys, Context));
+ return ScalableVectorType::get(Ty->getElementType(), Ty->getNumElements());
}
}
llvm_unreachable("unhandled");