[llvm] [SampleProf][TableGen] Fix -Wrange-loop-construct warnings (NFC) (PR #221472)
Vedran Miletić via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 10 10:48:08 PDT 2026
https://github.com/vedranmiletic updated https://github.com/llvm/llvm-project/pull/221472
>From b35e396f956fd6ceb8864a9a0b85154c807fbd81 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vedran=20Mileti=C4=87?= <vedran at miletic.net>
Date: Sat, 1 Aug 2026 12:36:12 +0200
Subject: [PATCH] [SampleProf][TableGen] Fix -Wrange-loop-construct warnings
(NFC)
Use "const auto &" instead of "const auto" for structured bindings in
range-based for loops to avoid copying the loop variable. Fixes
-Wrange-loop-construct warnings emitted by Clang 19.
---
llvm/lib/ProfileData/SampleProfWriter.cpp | 4 ++--
llvm/utils/TableGen/AsmMatcherEmitter.cpp | 4 ++--
llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp | 2 +-
llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp | 2 +-
llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 2 +-
5 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/llvm/lib/ProfileData/SampleProfWriter.cpp b/llvm/lib/ProfileData/SampleProfWriter.cpp
index 2d317a7f6f744..3a4b588f1e442 100644
--- a/llvm/lib/ProfileData/SampleProfWriter.cpp
+++ b/llvm/lib/ProfileData/SampleProfWriter.cpp
@@ -801,7 +801,7 @@ std::error_code SampleProfileWriterText::writeSample(const FunctionSamples &S) {
Loc.print(OS);
OS << ": ";
OS << kVTableProfPrefix;
- for (const auto [TypeName, Count] : *Map) {
+ for (const auto &[TypeName, Count] : *Map) {
OS << TypeName << ":" << Count << " ";
}
OS << "\n";
@@ -826,7 +826,7 @@ std::error_code SampleProfileWriterText::writeSample(const FunctionSamples &S) {
Loc.print(OS);
OS << ": ";
OS << kVTableProfPrefix;
- for (const auto [TypeId, Count] : *Map) {
+ for (const auto &[TypeId, Count] : *Map) {
OS << TypeId << ":" << Count << " ";
}
OS << "\n";
diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp
index 5e2127d139081..62f45dae113b7 100644
--- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp
+++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp
@@ -1546,7 +1546,7 @@ void AsmMatcherInfo::buildOperandMatchInfo() {
}
// Generate operand match info for each mnemonic/operand class pair.
- for (const auto [CI, OpMask] : OpClassMask) {
+ for (const auto &[CI, OpMask] : OpClassMask) {
OperandMatchInfo.push_back(
OperandMatchEntry::create(MI.get(), CI, OpMask));
}
@@ -2609,7 +2609,7 @@ static void emitGetRegClassFromMatchKindFunc(AsmMatcherInfo &Info,
It->second = nullptr; // Mark as ambiguous
}
}
- for (const auto [UserCI, RegCI] : UserClassToRegClassMap) {
+ for (const auto &[UserCI, RegCI] : UserClassToRegClassMap) {
if (RegCI && isDefinedRegisterClass(Info, RegCI->ClassName)) {
OS << " case " << UserCI->Name << ":\n";
OS << " return &get" << Info.Target.getName() << "MCRegisterClass("
diff --git a/llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp b/llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
index 6b3a3026a7d64..3ac43b87fc967 100644
--- a/llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
+++ b/llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
@@ -776,7 +776,7 @@ static AttributeSet getIntrinsicFnAttributeSet(LLVMContext &C, unsigned ID) {
// Find the max number of attributes to create the local array.
unsigned MaxNumAttrs = 0;
- for (const auto [IntPtr, UniqueID] : UniqAttributes) {
+ for (const auto &[IntPtr, UniqueID] : UniqAttributes) {
const CodeGenIntrinsic &Int = *IntPtr;
ArgAttrIDSubTable SubTable;
diff --git a/llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp b/llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
index 3a2ef55656067..b326b6e6b8744 100644
--- a/llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
+++ b/llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
@@ -239,7 +239,7 @@ void VarLenCodeEmitterGen::run(raw_ostream &OS) {
if (const Record *RV = R->getValueAsOptionalDef("EncodingInfos")) {
const CodeGenHwModes &HWM = Target.getHwModes();
EncodingInfoByHwMode EBM(RV, HWM);
- for (const auto [Mode, EncodingDef] : EBM) {
+ for (const auto &[Mode, EncodingDef] : EBM) {
Modes.try_emplace(Mode, "_" + HWM.getMode(Mode).Name.str());
const RecordVal *RV = EncodingDef->getValue("Inst");
const DagInit *DI = cast<DagInit>(RV->getValue());
diff --git a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
index 37e7ad34cb225..40abe5619f5a2 100644
--- a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
+++ b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
@@ -1484,7 +1484,7 @@ void MatcherTableEmitter::EmitValueTypeFunction(raw_ostream &OS) {
OS << " switch (HwMode) {\n";
if (!VTs.hasDefault())
OS << " default:\n return MVT();\n";
- for (const auto [Mode, VT] : VTs) {
+ for (const auto &[Mode, VT] : VTs) {
if (Mode == DefaultMode)
OS << " default:\n";
else
More information about the llvm-commits
mailing list