From 280c4bd8b7882d47793000b74b2c93b8fe3dacc4 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Wed, 16 Apr 2025 12:35:38 -0700 Subject: [PATCH 1/2] [llvm] Construct SmallVector with ArrayRef (NFC) --- llvm/lib/IR/IRBuilder.cpp | 13 ++++--------- .../llvm-reduce/deltas/ReduceOperandsToArgs.cpp | 3 +-- llvm/tools/lto/lto.cpp | 3 +-- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/llvm/lib/IR/IRBuilder.cpp b/llvm/lib/IR/IRBuilder.cpp index e5a2f08c393c9..a195945c9cadb 100644 --- a/llvm/lib/IR/IRBuilder.cpp +++ b/llvm/lib/IR/IRBuilder.cpp @@ -748,18 +748,15 @@ getStatepointBundles(std::optional> TransitionArgs, ArrayRef GCArgs) { std::vector Rval; if (DeoptArgs) { - SmallVector DeoptValues; - llvm::append_range(DeoptValues, *DeoptArgs); + SmallVector DeoptValues(*DeoptArgs); Rval.emplace_back("deopt", DeoptValues); } if (TransitionArgs) { - SmallVector TransitionValues; - llvm::append_range(TransitionValues, *TransitionArgs); + SmallVector TransitionValues(*TransitionArgs); Rval.emplace_back("gc-transition", TransitionValues); } if (GCArgs.size()) { - SmallVector LiveValues; - llvm::append_range(LiveValues, GCArgs); + SmallVector LiveValues(GCArgs); Rval.emplace_back("gc-live", LiveValues); } return Rval; @@ -1091,9 +1088,7 @@ CallInst *IRBuilderBase::CreateConstrainedFPCall( Function *Callee, ArrayRef Args, const Twine &Name, std::optional Rounding, std::optional Except) { - llvm::SmallVector UseArgs; - - append_range(UseArgs, Args); + llvm::SmallVector UseArgs(Args); if (Intrinsic::hasConstrainedFPRoundingModeOperand(Callee->getIntrinsicID())) UseArgs.push_back(getConstrainedFPRounding(Rounding)); diff --git a/llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp b/llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp index 3f877b525549f..cb27d5473fd73 100644 --- a/llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp +++ b/llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp @@ -129,8 +129,7 @@ static void substituteOperandWithArgument(Function *OldF, UniqueValues.insert(Op->get()); // Determine the new function's signature. - SmallVector NewArgTypes; - llvm::append_range(NewArgTypes, OldF->getFunctionType()->params()); + SmallVector NewArgTypes(OldF->getFunctionType()->params()); size_t ArgOffset = NewArgTypes.size(); for (Value *V : UniqueValues) NewArgTypes.push_back(V->getType()); diff --git a/llvm/tools/lto/lto.cpp b/llvm/tools/lto/lto.cpp index 29219c9114522..bb64d42ccced1 100644 --- a/llvm/tools/lto/lto.cpp +++ b/llvm/tools/lto/lto.cpp @@ -496,8 +496,7 @@ void lto_codegen_debug_options_array(lto_code_gen_t cg, const char *const *options, int number) { assert(optionParsingState != OptParsingState::Early && "early option processing already happened"); - SmallVector Options; - llvm::append_range(Options, ArrayRef(options, number)); + SmallVector Options(ArrayRef(options, number)); unwrap(cg)->setCodeGenDebugOptions(ArrayRef(Options)); } From 4189c603bd5ca6ca2070f3565224d4203cdfc50d Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Wed, 16 Apr 2025 17:43:12 -0700 Subject: [PATCH 2/2] Address a comment. --- llvm/lib/IR/IRBuilder.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/llvm/lib/IR/IRBuilder.cpp b/llvm/lib/IR/IRBuilder.cpp index a195945c9cadb..b448c0372eb0e 100644 --- a/llvm/lib/IR/IRBuilder.cpp +++ b/llvm/lib/IR/IRBuilder.cpp @@ -747,18 +747,13 @@ getStatepointBundles(std::optional> TransitionArgs, std::optional> DeoptArgs, ArrayRef GCArgs) { std::vector Rval; - if (DeoptArgs) { - SmallVector DeoptValues(*DeoptArgs); - Rval.emplace_back("deopt", DeoptValues); - } - if (TransitionArgs) { - SmallVector TransitionValues(*TransitionArgs); - Rval.emplace_back("gc-transition", TransitionValues); - } - if (GCArgs.size()) { - SmallVector LiveValues(GCArgs); - Rval.emplace_back("gc-live", LiveValues); - } + if (DeoptArgs) + Rval.emplace_back("deopt", SmallVector(*DeoptArgs)); + if (TransitionArgs) + Rval.emplace_back("gc-transition", + SmallVector(*TransitionArgs)); + if (GCArgs.size()) + Rval.emplace_back("gc-live", SmallVector(GCArgs)); return Rval; }