[llvm] [DebugInfo][InstrRef][MIR][GlobalIsel][MachineLICM] Use std::move to avoid copying (PR #116935)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 20 09:18:31 PST 2024
https://github.com/abhishek-kaushik22 updated https://github.com/llvm/llvm-project/pull/116935
>From b9a441a4786c51deffc7b30c02e7086379343240 Mon Sep 17 00:00:00 2001
From: abhishek-kaushik22 <abhishek.kaushik at intel.com>
Date: Wed, 20 Nov 2024 12:48:57 +0530
Subject: [PATCH 1/3] Use std::move to avoid copying
---
llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp | 2 +-
llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 2 +-
llvm/lib/CodeGen/MIRPrinter.cpp | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp b/llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
index a700d866afa4ec..827da6a2ed8098 100644
--- a/llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
@@ -537,7 +537,7 @@ void GISelKnownBits::computeKnownBitsImpl(Register R, KnownBits &Known,
computeKnownBitsImpl(SrcReg, SrcOpKnown, SubDemandedElts, Depth + 1);
if (SrcTy.isVector())
- Known = SrcOpKnown;
+ Known = std::move(SrcOpKnown);
else
Known = SrcOpKnown.extractBits(BitWidth, BitWidth * DstIdx);
break;
diff --git a/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp b/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
index a9d28a39c4418b..748dd0ca9858e0 100644
--- a/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
+++ b/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
@@ -2927,7 +2927,7 @@ std::optional<ValueIDNum> InstrRefBasedLDV::pickOperandPHILoc(
SmallVector<LocIdx, 4> NewCandidates;
std::set_intersection(CandidateLocs.begin(), CandidateLocs.end(),
LocVec.begin(), LocVec.end(), std::inserter(NewCandidates, NewCandidates.begin()));
- CandidateLocs = NewCandidates;
+ CandidateLocs = std::move(NewCandidates);
}
if (CandidateLocs.empty())
return std::nullopt;
diff --git a/llvm/lib/CodeGen/MIRPrinter.cpp b/llvm/lib/CodeGen/MIRPrinter.cpp
index 658bbe0e577e5c..398f2934940f59 100644
--- a/llvm/lib/CodeGen/MIRPrinter.cpp
+++ b/llvm/lib/CodeGen/MIRPrinter.cpp
@@ -345,7 +345,7 @@ void MIRPrinter::convert(yaml::MachineFunction &YamlMF,
if (PreferredReg)
printRegMIR(PreferredReg, VReg.PreferredRegister, TRI);
printRegFlags(Reg, VReg.RegisterFlags, MF, TRI);
- YamlMF.VirtualRegisters.push_back(VReg);
+ YamlMF.VirtualRegisters.push_back(std::move(VReg));
}
// Print the live ins.
@@ -354,7 +354,7 @@ void MIRPrinter::convert(yaml::MachineFunction &YamlMF,
printRegMIR(LI.first, LiveIn.Register, TRI);
if (LI.second)
printRegMIR(LI.second, LiveIn.VirtualRegister, TRI);
- YamlMF.LiveIns.push_back(LiveIn);
+ YamlMF.LiveIns.push_back(std::move(LiveIn));
}
// Prints the callee saved registers.
@@ -364,7 +364,7 @@ void MIRPrinter::convert(yaml::MachineFunction &YamlMF,
for (const MCPhysReg *I = CalleeSavedRegs; *I; ++I) {
yaml::FlowStringValue Reg;
printRegMIR(*I, Reg, TRI);
- CalleeSavedRegisters.push_back(Reg);
+ CalleeSavedRegisters.push_back(std::move(Reg));
}
YamlMF.CalleeSavedRegisters = CalleeSavedRegisters;
}
>From a8cae3f20e2a46cf462b9df4e1cd2803f702a681 Mon Sep 17 00:00:00 2001
From: abhishek-kaushik22 <abhishek.kaushik at intel.com>
Date: Wed, 20 Nov 2024 12:59:21 +0530
Subject: [PATCH 2/3] Update MachineLICM.cpp
---
llvm/lib/CodeGen/MachineLICM.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/lib/CodeGen/MachineLICM.cpp b/llvm/lib/CodeGen/MachineLICM.cpp
index 48c901b8d06d61..94cbbf7834c626 100644
--- a/llvm/lib/CodeGen/MachineLICM.cpp
+++ b/llvm/lib/CodeGen/MachineLICM.cpp
@@ -151,7 +151,7 @@ namespace {
if (Inserted) {
SmallVector<MachineBasicBlock *, 8> ExitBlocks;
CurLoop->getExitBlocks(ExitBlocks);
- It->second = ExitBlocks;
+ It->second = std::move(ExitBlocks);
}
return is_contained(It->second, MBB);
}
>From 599b0efdbc0d28ea986e56f98202ab0f7bef1ce2 Mon Sep 17 00:00:00 2001
From: abhishek-kaushik22 <abhishek.kaushik at intel.com>
Date: Wed, 20 Nov 2024 22:48:15 +0530
Subject: [PATCH 3/3] Update MIRPrinter.cpp
---
llvm/lib/CodeGen/MIRPrinter.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/lib/CodeGen/MIRPrinter.cpp b/llvm/lib/CodeGen/MIRPrinter.cpp
index 398f2934940f59..c8f6341c1224d2 100644
--- a/llvm/lib/CodeGen/MIRPrinter.cpp
+++ b/llvm/lib/CodeGen/MIRPrinter.cpp
@@ -366,7 +366,7 @@ void MIRPrinter::convert(yaml::MachineFunction &YamlMF,
printRegMIR(*I, Reg, TRI);
CalleeSavedRegisters.push_back(std::move(Reg));
}
- YamlMF.CalleeSavedRegisters = CalleeSavedRegisters;
+ YamlMF.CalleeSavedRegisters = std::move(CalleeSavedRegisters);
}
}
More information about the llvm-commits
mailing list