diff --git a/llvm/include/llvm/IR/Metadata.h b/llvm/include/llvm/IR/Metadata.h --- a/llvm/include/llvm/IR/Metadata.h +++ b/llvm/include/llvm/IR/Metadata.h @@ -1345,9 +1345,8 @@ StorageType Storage, bool ShouldCreate = true); TempMDTuple cloneImpl() const { - ArrayRef Operands = operands(); - return getTemporary(getContext(), SmallVector( - Operands.begin(), Operands.end())); + return getTemporary(getContext(), + llvm::to_vector_of(operands())); } public: diff --git a/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp b/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp --- a/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp +++ b/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp @@ -811,8 +811,7 @@ return nullptr; // Otherwise, create TBAA with the new Len - ArrayRef MDOperands = MD->operands(); - SmallVector NextNodes(MDOperands.begin(), MDOperands.end()); + auto NextNodes = to_vector_of(MD->operands()); ConstantInt *PreviousSize = mdconst::extract(NextNodes[3]); // Don't create a new MDNode if it is the same length. diff --git a/llvm/lib/Linker/IRMover.cpp b/llvm/lib/Linker/IRMover.cpp --- a/llvm/lib/Linker/IRMover.cpp +++ b/llvm/lib/Linker/IRMover.cpp @@ -1372,10 +1372,9 @@ "Expected MDTuple when appending module flags"); if (DstValue->isDistinct()) return dyn_cast(DstValue); - ArrayRef DstOperands = DstValue->operands(); MDTuple *New = MDTuple::getDistinct( DstM.getContext(), - SmallVector(DstOperands.begin(), DstOperands.end())); + llvm::to_vector_of(DstValue->operands())); Metadata *FlagOps[] = {DstOp->getOperand(0), ID, New}; MDNode *Flag = MDTuple::getDistinct(DstM.getContext(), FlagOps); DstModFlags->setOperand(DstIndex, Flag); diff --git a/llvm/tools/llvm-rc/ResourceScriptStmt.h b/llvm/tools/llvm-rc/ResourceScriptStmt.h --- a/llvm/tools/llvm-rc/ResourceScriptStmt.h +++ b/llvm/tools/llvm-rc/ResourceScriptStmt.h @@ -817,7 +817,7 @@ VersionInfoFixed() : IsTypePresent(FtNumTypes, false) {} void setValue(VersionInfoFixedType Type, ArrayRef Value) { - FixedInfo[Type] = SmallVector(Value.begin(), Value.end()); + FixedInfo[Type] = llvm::to_vector<4>(Value); IsTypePresent[Type] = true; } diff --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp --- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp +++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp @@ -125,7 +125,7 @@ return {}; ArrayRef BuildID(reinterpret_cast(Bytes.data()), Bytes.size()); - return SmallVector(BuildID.begin(), BuildID.end()); + return llvm::to_vector(BuildID); } static bool parseCommand(StringRef BinaryName, bool IsAddr2Line, diff --git a/llvm/unittests/Analysis/VectorUtilsTest.cpp b/llvm/unittests/Analysis/VectorUtilsTest.cpp --- a/llvm/unittests/Analysis/VectorUtilsTest.cpp +++ b/llvm/unittests/Analysis/VectorUtilsTest.cpp @@ -507,8 +507,7 @@ } bool validParams(ArrayRef Parameters) { - Shape.Parameters = - SmallVector(Parameters.begin(), Parameters.end()); + Shape.Parameters = llvm::to_vector<8>(Parameters); return Shape.hasValidParameterList(); } };