Skip to content

Conversation

@kazutakahirata
Copy link
Contributor

This patch simplifies construction of iterator_range by using:

iterator_range(Container &&)

instead of:

iterator_range(T begin_iterator, T end_iterator)

This patch simplifies construction of iterator_range<T> by using:

  iterator_range<T>(Container &&)

instead of:

  iterator_range<T>(T begin_iterator, T end_iterator)
@llvmbot
Copy link
Member

llvmbot commented Oct 25, 2025

@llvm/pr-subscribers-llvm-ir
@llvm/pr-subscribers-llvm-globalisel
@llvm/pr-subscribers-backend-x86
@llvm/pr-subscribers-backend-directx

@llvm/pr-subscribers-backend-arm

Author: Kazu Hirata (kazutakahirata)

Changes

This patch simplifies construction of iterator_range<T> by using:

iterator_range<T>(Container &&)

instead of:

iterator_range<T>(T begin_iterator, T end_iterator)


Full diff: https://github.com/llvm/llvm-project/pull/165117.diff

13 Files Affected:

  • (modified) llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h (+1-3)
  • (modified) llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h (+1-3)
  • (modified) llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h (+1-1)
  • (modified) llvm/include/llvm/IR/DebugInfo.h (+5-13)
  • (modified) llvm/include/llvm/Object/DXContainer.h (+2-2)
  • (modified) llvm/include/llvm/Object/MachO.h (+1-3)
  • (modified) llvm/include/llvm/Remarks/RemarkLinker.h (+1-3)
  • (modified) llvm/include/llvm/TextAPI/SymbolSet.h (+4-12)
  • (modified) llvm/lib/IR/DebugProgramInstruction.cpp (+2-2)
  • (modified) llvm/lib/Target/ARM/ARMConstantPoolValue.h (+1-3)
  • (modified) llvm/lib/Target/X86/X86DomainReassignment.cpp (+1-3)
  • (modified) llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h (+2-4)
  • (modified) llvm/utils/TableGen/RegisterBankEmitter.cpp (+1-1)
diff --git a/llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h b/llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
index 547d92c6ce004..451c438a5e4f6 100644
--- a/llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
+++ b/llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
@@ -102,9 +102,7 @@ class DWARFAbbreviationDeclaration {
   using attr_iterator_range =
       iterator_range<AttributeSpecVector::const_iterator>;
 
-  attr_iterator_range attributes() const {
-    return attr_iterator_range(AttributeSpecs.begin(), AttributeSpecs.end());
-  }
+  attr_iterator_range attributes() const { return AttributeSpecs; }
 
   dwarf::Form getFormByIndex(uint32_t idx) const {
     assert(idx < AttributeSpecs.size());
diff --git a/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h b/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
index 65189916b41f1..c1d9be774ca97 100644
--- a/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
+++ b/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
@@ -226,9 +226,7 @@ class DWARFDebugFrame {
   /// DWARF Frame entries accessors
   iterator begin() const { return Entries.begin(); }
   iterator end() const { return Entries.end(); }
-  iterator_range<iterator> entries() const {
-    return iterator_range<iterator>(Entries.begin(), Entries.end());
-  }
+  iterator_range<iterator> entries() const { return Entries; }
 
   uint64_t getEHFrameAddress() const { return EHFrameAddress; }
 };
diff --git a/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h b/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
index 964ff8e396660..7f9bf12189bbb 100644
--- a/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
+++ b/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
@@ -563,7 +563,7 @@ class LLVM_ABI DWARFUnit {
 
   die_iterator_range dies() {
     extractDIEsIfNeeded(false);
-    return die_iterator_range(DieArray.begin(), DieArray.end());
+    return DieArray;
   }
 
   virtual void dump(raw_ostream &OS, DIDumpOptions DumpOpts) = 0;
diff --git a/llvm/include/llvm/IR/DebugInfo.h b/llvm/include/llvm/IR/DebugInfo.h
index 220e4c1cad4f7..33e6df0ecb873 100644
--- a/llvm/include/llvm/IR/DebugInfo.h
+++ b/llvm/include/llvm/IR/DebugInfo.h
@@ -140,25 +140,17 @@ class DebugInfoFinder {
   using type_iterator = SmallVectorImpl<DIType *>::const_iterator;
   using scope_iterator = SmallVectorImpl<DIScope *>::const_iterator;
 
-  iterator_range<compile_unit_iterator> compile_units() const {
-    return make_range(CUs.begin(), CUs.end());
-  }
+  iterator_range<compile_unit_iterator> compile_units() const { return CUs; }
 
-  iterator_range<subprogram_iterator> subprograms() const {
-    return make_range(SPs.begin(), SPs.end());
-  }
+  iterator_range<subprogram_iterator> subprograms() const { return SPs; }
 
   iterator_range<global_variable_expression_iterator> global_variables() const {
-    return make_range(GVs.begin(), GVs.end());
+    return GVs;
   }
 
-  iterator_range<type_iterator> types() const {
-    return make_range(TYs.begin(), TYs.end());
-  }
+  iterator_range<type_iterator> types() const { return TYs; }
 
-  iterator_range<scope_iterator> scopes() const {
-    return make_range(Scopes.begin(), Scopes.end());
-  }
+  iterator_range<scope_iterator> scopes() const { return Scopes; }
 
   unsigned compile_unit_count() const { return CUs.size(); }
   unsigned global_variable_count() const { return GVs.size(); }
diff --git a/llvm/include/llvm/Object/DXContainer.h b/llvm/include/llvm/Object/DXContainer.h
index 5a5a4dbaae2ad..c5888b87d6ad7 100644
--- a/llvm/include/llvm/Object/DXContainer.h
+++ b/llvm/include/llvm/Object/DXContainer.h
@@ -245,10 +245,10 @@ class RootSignature {
   uint32_t getStaticSamplersOffset() const { return StaticSamplersOffset; }
   uint32_t getNumRootParameters() const { return ParametersHeaders.size(); }
   llvm::iterator_range<param_header_iterator> param_headers() const {
-    return llvm::make_range(ParametersHeaders.begin(), ParametersHeaders.end());
+    return ParametersHeaders;
   }
   llvm::iterator_range<samplers_iterator> samplers() const {
-    return llvm::make_range(StaticSamplers.begin(), StaticSamplers.end());
+    return StaticSamplers;
   }
   uint32_t getFlags() const { return Flags; }
 
diff --git a/llvm/include/llvm/Object/MachO.h b/llvm/include/llvm/Object/MachO.h
index 3f4a21d2d1bac..01e7c6b07dd36 100644
--- a/llvm/include/llvm/Object/MachO.h
+++ b/llvm/include/llvm/Object/MachO.h
@@ -121,9 +121,7 @@ class ExportEntry {
   NodeList Stack;
   bool Done = false;
 
-  iterator_range<node_iterator> nodes() const {
-    return make_range(Stack.begin(), Stack.end());
-  }
+  iterator_range<node_iterator> nodes() const { return Stack; }
 };
 using export_iterator = content_iterator<ExportEntry>;
 
diff --git a/llvm/include/llvm/Remarks/RemarkLinker.h b/llvm/include/llvm/Remarks/RemarkLinker.h
index 67208f40592a5..2d98f2dc5b219 100644
--- a/llvm/include/llvm/Remarks/RemarkLinker.h
+++ b/llvm/include/llvm/Remarks/RemarkLinker.h
@@ -101,9 +101,7 @@ struct RemarkLinker {
   /// for (const Remark &R : RL.remarks() { [...] }
   using iterator = pointee_iterator<decltype(Remarks)::const_iterator>;
 
-  iterator_range<iterator> remarks() const {
-    return {Remarks.begin(), Remarks.end()};
-  }
+  iterator_range<iterator> remarks() const { return Remarks; }
 };
 
 /// Returns a buffer with the contents of the remarks section depending on the
diff --git a/llvm/include/llvm/TextAPI/SymbolSet.h b/llvm/include/llvm/TextAPI/SymbolSet.h
index 22f4124f40313..c97d7a1606f2c 100644
--- a/llvm/include/llvm/TextAPI/SymbolSet.h
+++ b/llvm/include/llvm/TextAPI/SymbolSet.h
@@ -139,18 +139,14 @@ class SymbolSet {
       iterator_range<const_filtered_symbol_iterator>;
 
   // Range that contains all symbols.
-  const_symbol_range symbols() const {
-    return {Symbols.begin(), Symbols.end()};
-  }
+  const_symbol_range symbols() const { return Symbols; }
 
   // Range that contains all defined and exported symbols.
   const_filtered_symbol_range exports() const {
     std::function<bool(const Symbol *)> fn = [](const Symbol *Symbol) {
       return !Symbol->isUndefined() && !Symbol->isReexported();
     };
-    return make_filter_range(
-        make_range<const_symbol_iterator>({Symbols.begin()}, {Symbols.end()}),
-        fn);
+    return make_filter_range(symbols(), fn);
   }
 
   // Range that contains all reexported symbols.
@@ -158,9 +154,7 @@ class SymbolSet {
     std::function<bool(const Symbol *)> fn = [](const Symbol *Symbol) {
       return Symbol->isReexported();
     };
-    return make_filter_range(
-        make_range<const_symbol_iterator>({Symbols.begin()}, {Symbols.end()}),
-        fn);
+    return make_filter_range(symbols(), fn);
   }
 
   // Range that contains all undefined and exported symbols.
@@ -168,9 +162,7 @@ class SymbolSet {
     std::function<bool(const Symbol *)> fn = [](const Symbol *Symbol) {
       return Symbol->isUndefined();
     };
-    return make_filter_range(
-        make_range<const_symbol_iterator>({Symbols.begin()}, {Symbols.end()}),
-        fn);
+    return make_filter_range(symbols(), fn);
   }
 
   LLVM_ABI bool operator==(const SymbolSet &O) const;
diff --git a/llvm/lib/IR/DebugProgramInstruction.cpp b/llvm/lib/IR/DebugProgramInstruction.cpp
index 2b9b0f958a171..d9357bba75510 100644
--- a/llvm/lib/IR/DebugProgramInstruction.cpp
+++ b/llvm/lib/IR/DebugProgramInstruction.cpp
@@ -665,11 +665,11 @@ void DbgMarker::eraseFromParent() {
 }
 
 iterator_range<DbgRecord::self_iterator> DbgMarker::getDbgRecordRange() {
-  return make_range(StoredDbgRecords.begin(), StoredDbgRecords.end());
+  return StoredDbgRecords;
 }
 iterator_range<DbgRecord::const_self_iterator>
 DbgMarker::getDbgRecordRange() const {
-  return make_range(StoredDbgRecords.begin(), StoredDbgRecords.end());
+  return StoredDbgRecords;
 }
 
 void DbgRecord::removeFromParent() {
diff --git a/llvm/lib/Target/ARM/ARMConstantPoolValue.h b/llvm/lib/Target/ARM/ARMConstantPoolValue.h
index 261070a74ba33..e21b2c935c010 100644
--- a/llvm/lib/Target/ARM/ARMConstantPoolValue.h
+++ b/llvm/lib/Target/ARM/ARMConstantPoolValue.h
@@ -176,9 +176,7 @@ class ARMConstantPoolConstant : public ARMConstantPoolValue {
 
   using promoted_iterator = SmallPtrSet<const GlobalVariable *, 1>::iterator;
 
-  iterator_range<promoted_iterator> promotedGlobals() {
-    return iterator_range<promoted_iterator>(GVars.begin(), GVars.end());
-  }
+  iterator_range<promoted_iterator> promotedGlobals() { return GVars; }
 
   const Constant *getPromotedGlobalInit() const {
     return CVal;
diff --git a/llvm/lib/Target/X86/X86DomainReassignment.cpp b/llvm/lib/Target/X86/X86DomainReassignment.cpp
index 339e2f3b7209e..5d190114615de 100644
--- a/llvm/lib/Target/X86/X86DomainReassignment.cpp
+++ b/llvm/lib/Target/X86/X86DomainReassignment.cpp
@@ -324,9 +324,7 @@ class Closure {
   bool insertEdge(Register Reg) { return Edges.insert(Reg).second; }
 
   using const_edge_iterator = DenseSet<Register>::const_iterator;
-  iterator_range<const_edge_iterator> edges() const {
-    return iterator_range<const_edge_iterator>(Edges.begin(), Edges.end());
-  }
+  iterator_range<const_edge_iterator> edges() const { return Edges; }
 
   void addInstruction(MachineInstr *I) {
     Instrs.push_back(I);
diff --git a/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h b/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
index a310fc82d081b..64775890a954a 100644
--- a/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
+++ b/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
@@ -365,7 +365,7 @@ class GroupMatcher final : public Matcher {
   /// has been already called. If any of the matchers are moved out, the group
   /// becomes safe to destroy, but not safe to re-use for anything else.
   iterator_range<std::vector<Matcher *>::iterator> matchers() {
-    return make_range(Matchers.begin(), Matchers.end());
+    return Matchers;
   }
   size_t size() const { return Matchers.size(); }
   bool empty() const { return Matchers.empty(); }
@@ -704,9 +704,7 @@ class RuleMatcher : public Matcher {
     return make_range(PhysRegOperands.begin(), PhysRegOperands.end());
   }
 
-  iterator_range<MatchersTy::iterator> insnmatchers() {
-    return make_range(Matchers.begin(), Matchers.end());
-  }
+  iterator_range<MatchersTy::iterator> insnmatchers() { return Matchers; }
   bool insnmatchers_empty() const { return Matchers.empty(); }
   void insnmatchers_pop_front();
 };
diff --git a/llvm/utils/TableGen/RegisterBankEmitter.cpp b/llvm/utils/TableGen/RegisterBankEmitter.cpp
index e00b06ca3f537..61b0b661c0f32 100644
--- a/llvm/utils/TableGen/RegisterBankEmitter.cpp
+++ b/llvm/utils/TableGen/RegisterBankEmitter.cpp
@@ -102,7 +102,7 @@ class RegisterBank {
 
   iterator_range<typename RegisterClassesTy::const_iterator>
   register_classes() const {
-    return llvm::make_range(RCs.begin(), RCs.end());
+    return RCs;
   }
 };
 

@llvmbot
Copy link
Member

llvmbot commented Oct 25, 2025

@llvm/pr-subscribers-debuginfo

Author: Kazu Hirata (kazutakahirata)

Changes

This patch simplifies construction of iterator_range<T> by using:

iterator_range<T>(Container &&)

instead of:

iterator_range<T>(T begin_iterator, T end_iterator)


Full diff: https://github.com/llvm/llvm-project/pull/165117.diff

13 Files Affected:

  • (modified) llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h (+1-3)
  • (modified) llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h (+1-3)
  • (modified) llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h (+1-1)
  • (modified) llvm/include/llvm/IR/DebugInfo.h (+5-13)
  • (modified) llvm/include/llvm/Object/DXContainer.h (+2-2)
  • (modified) llvm/include/llvm/Object/MachO.h (+1-3)
  • (modified) llvm/include/llvm/Remarks/RemarkLinker.h (+1-3)
  • (modified) llvm/include/llvm/TextAPI/SymbolSet.h (+4-12)
  • (modified) llvm/lib/IR/DebugProgramInstruction.cpp (+2-2)
  • (modified) llvm/lib/Target/ARM/ARMConstantPoolValue.h (+1-3)
  • (modified) llvm/lib/Target/X86/X86DomainReassignment.cpp (+1-3)
  • (modified) llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h (+2-4)
  • (modified) llvm/utils/TableGen/RegisterBankEmitter.cpp (+1-1)
diff --git a/llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h b/llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
index 547d92c6ce004..451c438a5e4f6 100644
--- a/llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
+++ b/llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
@@ -102,9 +102,7 @@ class DWARFAbbreviationDeclaration {
   using attr_iterator_range =
       iterator_range<AttributeSpecVector::const_iterator>;
 
-  attr_iterator_range attributes() const {
-    return attr_iterator_range(AttributeSpecs.begin(), AttributeSpecs.end());
-  }
+  attr_iterator_range attributes() const { return AttributeSpecs; }
 
   dwarf::Form getFormByIndex(uint32_t idx) const {
     assert(idx < AttributeSpecs.size());
diff --git a/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h b/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
index 65189916b41f1..c1d9be774ca97 100644
--- a/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
+++ b/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
@@ -226,9 +226,7 @@ class DWARFDebugFrame {
   /// DWARF Frame entries accessors
   iterator begin() const { return Entries.begin(); }
   iterator end() const { return Entries.end(); }
-  iterator_range<iterator> entries() const {
-    return iterator_range<iterator>(Entries.begin(), Entries.end());
-  }
+  iterator_range<iterator> entries() const { return Entries; }
 
   uint64_t getEHFrameAddress() const { return EHFrameAddress; }
 };
diff --git a/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h b/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
index 964ff8e396660..7f9bf12189bbb 100644
--- a/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
+++ b/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
@@ -563,7 +563,7 @@ class LLVM_ABI DWARFUnit {
 
   die_iterator_range dies() {
     extractDIEsIfNeeded(false);
-    return die_iterator_range(DieArray.begin(), DieArray.end());
+    return DieArray;
   }
 
   virtual void dump(raw_ostream &OS, DIDumpOptions DumpOpts) = 0;
diff --git a/llvm/include/llvm/IR/DebugInfo.h b/llvm/include/llvm/IR/DebugInfo.h
index 220e4c1cad4f7..33e6df0ecb873 100644
--- a/llvm/include/llvm/IR/DebugInfo.h
+++ b/llvm/include/llvm/IR/DebugInfo.h
@@ -140,25 +140,17 @@ class DebugInfoFinder {
   using type_iterator = SmallVectorImpl<DIType *>::const_iterator;
   using scope_iterator = SmallVectorImpl<DIScope *>::const_iterator;
 
-  iterator_range<compile_unit_iterator> compile_units() const {
-    return make_range(CUs.begin(), CUs.end());
-  }
+  iterator_range<compile_unit_iterator> compile_units() const { return CUs; }
 
-  iterator_range<subprogram_iterator> subprograms() const {
-    return make_range(SPs.begin(), SPs.end());
-  }
+  iterator_range<subprogram_iterator> subprograms() const { return SPs; }
 
   iterator_range<global_variable_expression_iterator> global_variables() const {
-    return make_range(GVs.begin(), GVs.end());
+    return GVs;
   }
 
-  iterator_range<type_iterator> types() const {
-    return make_range(TYs.begin(), TYs.end());
-  }
+  iterator_range<type_iterator> types() const { return TYs; }
 
-  iterator_range<scope_iterator> scopes() const {
-    return make_range(Scopes.begin(), Scopes.end());
-  }
+  iterator_range<scope_iterator> scopes() const { return Scopes; }
 
   unsigned compile_unit_count() const { return CUs.size(); }
   unsigned global_variable_count() const { return GVs.size(); }
diff --git a/llvm/include/llvm/Object/DXContainer.h b/llvm/include/llvm/Object/DXContainer.h
index 5a5a4dbaae2ad..c5888b87d6ad7 100644
--- a/llvm/include/llvm/Object/DXContainer.h
+++ b/llvm/include/llvm/Object/DXContainer.h
@@ -245,10 +245,10 @@ class RootSignature {
   uint32_t getStaticSamplersOffset() const { return StaticSamplersOffset; }
   uint32_t getNumRootParameters() const { return ParametersHeaders.size(); }
   llvm::iterator_range<param_header_iterator> param_headers() const {
-    return llvm::make_range(ParametersHeaders.begin(), ParametersHeaders.end());
+    return ParametersHeaders;
   }
   llvm::iterator_range<samplers_iterator> samplers() const {
-    return llvm::make_range(StaticSamplers.begin(), StaticSamplers.end());
+    return StaticSamplers;
   }
   uint32_t getFlags() const { return Flags; }
 
diff --git a/llvm/include/llvm/Object/MachO.h b/llvm/include/llvm/Object/MachO.h
index 3f4a21d2d1bac..01e7c6b07dd36 100644
--- a/llvm/include/llvm/Object/MachO.h
+++ b/llvm/include/llvm/Object/MachO.h
@@ -121,9 +121,7 @@ class ExportEntry {
   NodeList Stack;
   bool Done = false;
 
-  iterator_range<node_iterator> nodes() const {
-    return make_range(Stack.begin(), Stack.end());
-  }
+  iterator_range<node_iterator> nodes() const { return Stack; }
 };
 using export_iterator = content_iterator<ExportEntry>;
 
diff --git a/llvm/include/llvm/Remarks/RemarkLinker.h b/llvm/include/llvm/Remarks/RemarkLinker.h
index 67208f40592a5..2d98f2dc5b219 100644
--- a/llvm/include/llvm/Remarks/RemarkLinker.h
+++ b/llvm/include/llvm/Remarks/RemarkLinker.h
@@ -101,9 +101,7 @@ struct RemarkLinker {
   /// for (const Remark &R : RL.remarks() { [...] }
   using iterator = pointee_iterator<decltype(Remarks)::const_iterator>;
 
-  iterator_range<iterator> remarks() const {
-    return {Remarks.begin(), Remarks.end()};
-  }
+  iterator_range<iterator> remarks() const { return Remarks; }
 };
 
 /// Returns a buffer with the contents of the remarks section depending on the
diff --git a/llvm/include/llvm/TextAPI/SymbolSet.h b/llvm/include/llvm/TextAPI/SymbolSet.h
index 22f4124f40313..c97d7a1606f2c 100644
--- a/llvm/include/llvm/TextAPI/SymbolSet.h
+++ b/llvm/include/llvm/TextAPI/SymbolSet.h
@@ -139,18 +139,14 @@ class SymbolSet {
       iterator_range<const_filtered_symbol_iterator>;
 
   // Range that contains all symbols.
-  const_symbol_range symbols() const {
-    return {Symbols.begin(), Symbols.end()};
-  }
+  const_symbol_range symbols() const { return Symbols; }
 
   // Range that contains all defined and exported symbols.
   const_filtered_symbol_range exports() const {
     std::function<bool(const Symbol *)> fn = [](const Symbol *Symbol) {
       return !Symbol->isUndefined() && !Symbol->isReexported();
     };
-    return make_filter_range(
-        make_range<const_symbol_iterator>({Symbols.begin()}, {Symbols.end()}),
-        fn);
+    return make_filter_range(symbols(), fn);
   }
 
   // Range that contains all reexported symbols.
@@ -158,9 +154,7 @@ class SymbolSet {
     std::function<bool(const Symbol *)> fn = [](const Symbol *Symbol) {
       return Symbol->isReexported();
     };
-    return make_filter_range(
-        make_range<const_symbol_iterator>({Symbols.begin()}, {Symbols.end()}),
-        fn);
+    return make_filter_range(symbols(), fn);
   }
 
   // Range that contains all undefined and exported symbols.
@@ -168,9 +162,7 @@ class SymbolSet {
     std::function<bool(const Symbol *)> fn = [](const Symbol *Symbol) {
       return Symbol->isUndefined();
     };
-    return make_filter_range(
-        make_range<const_symbol_iterator>({Symbols.begin()}, {Symbols.end()}),
-        fn);
+    return make_filter_range(symbols(), fn);
   }
 
   LLVM_ABI bool operator==(const SymbolSet &O) const;
diff --git a/llvm/lib/IR/DebugProgramInstruction.cpp b/llvm/lib/IR/DebugProgramInstruction.cpp
index 2b9b0f958a171..d9357bba75510 100644
--- a/llvm/lib/IR/DebugProgramInstruction.cpp
+++ b/llvm/lib/IR/DebugProgramInstruction.cpp
@@ -665,11 +665,11 @@ void DbgMarker::eraseFromParent() {
 }
 
 iterator_range<DbgRecord::self_iterator> DbgMarker::getDbgRecordRange() {
-  return make_range(StoredDbgRecords.begin(), StoredDbgRecords.end());
+  return StoredDbgRecords;
 }
 iterator_range<DbgRecord::const_self_iterator>
 DbgMarker::getDbgRecordRange() const {
-  return make_range(StoredDbgRecords.begin(), StoredDbgRecords.end());
+  return StoredDbgRecords;
 }
 
 void DbgRecord::removeFromParent() {
diff --git a/llvm/lib/Target/ARM/ARMConstantPoolValue.h b/llvm/lib/Target/ARM/ARMConstantPoolValue.h
index 261070a74ba33..e21b2c935c010 100644
--- a/llvm/lib/Target/ARM/ARMConstantPoolValue.h
+++ b/llvm/lib/Target/ARM/ARMConstantPoolValue.h
@@ -176,9 +176,7 @@ class ARMConstantPoolConstant : public ARMConstantPoolValue {
 
   using promoted_iterator = SmallPtrSet<const GlobalVariable *, 1>::iterator;
 
-  iterator_range<promoted_iterator> promotedGlobals() {
-    return iterator_range<promoted_iterator>(GVars.begin(), GVars.end());
-  }
+  iterator_range<promoted_iterator> promotedGlobals() { return GVars; }
 
   const Constant *getPromotedGlobalInit() const {
     return CVal;
diff --git a/llvm/lib/Target/X86/X86DomainReassignment.cpp b/llvm/lib/Target/X86/X86DomainReassignment.cpp
index 339e2f3b7209e..5d190114615de 100644
--- a/llvm/lib/Target/X86/X86DomainReassignment.cpp
+++ b/llvm/lib/Target/X86/X86DomainReassignment.cpp
@@ -324,9 +324,7 @@ class Closure {
   bool insertEdge(Register Reg) { return Edges.insert(Reg).second; }
 
   using const_edge_iterator = DenseSet<Register>::const_iterator;
-  iterator_range<const_edge_iterator> edges() const {
-    return iterator_range<const_edge_iterator>(Edges.begin(), Edges.end());
-  }
+  iterator_range<const_edge_iterator> edges() const { return Edges; }
 
   void addInstruction(MachineInstr *I) {
     Instrs.push_back(I);
diff --git a/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h b/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
index a310fc82d081b..64775890a954a 100644
--- a/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
+++ b/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
@@ -365,7 +365,7 @@ class GroupMatcher final : public Matcher {
   /// has been already called. If any of the matchers are moved out, the group
   /// becomes safe to destroy, but not safe to re-use for anything else.
   iterator_range<std::vector<Matcher *>::iterator> matchers() {
-    return make_range(Matchers.begin(), Matchers.end());
+    return Matchers;
   }
   size_t size() const { return Matchers.size(); }
   bool empty() const { return Matchers.empty(); }
@@ -704,9 +704,7 @@ class RuleMatcher : public Matcher {
     return make_range(PhysRegOperands.begin(), PhysRegOperands.end());
   }
 
-  iterator_range<MatchersTy::iterator> insnmatchers() {
-    return make_range(Matchers.begin(), Matchers.end());
-  }
+  iterator_range<MatchersTy::iterator> insnmatchers() { return Matchers; }
   bool insnmatchers_empty() const { return Matchers.empty(); }
   void insnmatchers_pop_front();
 };
diff --git a/llvm/utils/TableGen/RegisterBankEmitter.cpp b/llvm/utils/TableGen/RegisterBankEmitter.cpp
index e00b06ca3f537..61b0b661c0f32 100644
--- a/llvm/utils/TableGen/RegisterBankEmitter.cpp
+++ b/llvm/utils/TableGen/RegisterBankEmitter.cpp
@@ -102,7 +102,7 @@ class RegisterBank {
 
   iterator_range<typename RegisterClassesTy::const_iterator>
   register_classes() const {
-    return llvm::make_range(RCs.begin(), RCs.end());
+    return RCs;
   }
 };
 

@kazutakahirata kazutakahirata merged commit 378d5ea into llvm:main Oct 25, 2025
19 checks passed
@kazutakahirata kazutakahirata deleted the cleanup_20251025_ADT_iterator_range_ctor branch October 25, 2025 22:46
dvbuka pushed a commit to dvbuka/llvm-project that referenced this pull request Oct 27, 2025
This patch simplifies construction of iterator_range<T> by using:

  iterator_range<T>(Container &&)

instead of:

  iterator_range<T>(T begin_iterator, T end_iterator)
Lukacma pushed a commit to Lukacma/llvm-project that referenced this pull request Oct 29, 2025
This patch simplifies construction of iterator_range<T> by using:

  iterator_range<T>(Container &&)

instead of:

  iterator_range<T>(T begin_iterator, T end_iterator)
aokblast pushed a commit to aokblast/llvm-project that referenced this pull request Oct 30, 2025
This patch simplifies construction of iterator_range<T> by using:

  iterator_range<T>(Container &&)

instead of:

  iterator_range<T>(T begin_iterator, T end_iterator)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants