[llvm] e3284d8 - [GISel] Use SmallVector::append instead of copying one element at a time. (#119321)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 10 07:18:24 PST 2024
Author: Craig Topper
Date: 2024-12-10T07:18:20-08:00
New Revision: e3284d8cc75314818ff66d2dc1e4773e1fe4257c
URL: https://github.com/llvm/llvm-project/commit/e3284d8cc75314818ff66d2dc1e4773e1fe4257c
DIFF: https://github.com/llvm/llvm-project/commit/e3284d8cc75314818ff66d2dc1e4773e1fe4257c.diff
LOG: [GISel] Use SmallVector::append instead of copying one element at a time. (#119321)
Added:
Modified:
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
index 5bfeee05a19c0d..2544f2479ddc68 100644
--- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -182,9 +182,8 @@ void LegalizerHelper::insertParts(Register DstReg,
// Merge sub-vectors with
diff erent number of elements and insert into DstReg.
if (ResultTy.isVector()) {
assert(LeftoverRegs.size() == 1 && "Expected one leftover register");
- SmallVector<Register, 8> AllRegs;
- for (auto Reg : concat<const Register>(PartRegs, LeftoverRegs))
- AllRegs.push_back(Reg);
+ SmallVector<Register, 8> AllRegs(PartRegs.begin(), PartRegs.end());
+ AllRegs.append(LeftoverRegs.begin(), LeftoverRegs.end());
return mergeMixedSubvectors(DstReg, AllRegs);
}
@@ -6397,10 +6396,8 @@ LegalizerHelper::narrowScalarAddSub(MachineInstr &MI, unsigned TypeIdx,
MRI);
int NarrowParts = Src1Regs.size();
- for (int I = 0, E = Src1Left.size(); I != E; ++I) {
- Src1Regs.push_back(Src1Left[I]);
- Src2Regs.push_back(Src2Left[I]);
- }
+ Src1Regs.append(Src1Left);
+ Src2Regs.append(Src2Left);
DstRegs.reserve(Src1Regs.size());
for (int i = 0, e = Src1Regs.size(); i != e; ++i) {
@@ -6572,8 +6569,7 @@ LegalizerHelper::narrowScalarInsert(MachineInstr &MI, unsigned TypeIdx,
extractParts(MI.getOperand(1).getReg(), RegTy, NarrowTy, LeftoverTy, SrcRegs,
LeftoverRegs, MIRBuilder, MRI);
- for (Register Reg : LeftoverRegs)
- SrcRegs.push_back(Reg);
+ SrcRegs.append(LeftoverRegs);
uint64_t NarrowSize = NarrowTy.getSizeInBits();
Register OpReg = MI.getOperand(2).getReg();
More information about the llvm-commits
mailing list