diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp --- a/llvm/lib/IR/Function.cpp +++ b/llvm/lib/IR/Function.cpp @@ -1074,8 +1074,8 @@ // Return the overloaded type (which determines the pointers address space) return Tys[D.getOverloadArgNumber()]; case IITDescriptor::ScalableVecArgument: { - auto *Ty = cast(DecodeFixedType(Infos, Tys, Context)); - return VectorType::get(Ty->getElementType(), {Ty->getNumElements(), true}); + auto *Ty = cast(DecodeFixedType(Infos, Tys, Context)); + return ScalableVectorType::get(Ty->getElementType(), Ty->getNumElements()); } } llvm_unreachable("unhandled");