[llvm] [IR] Remove unused and mark debug-only verifier templates (NFC) (PR #202975)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 10 06:54:23 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-ir

Author: Aditya Medhane (flash1729)

<details>
<summary>Changes</summary>

Two verifier templates trip `-Wunused-template`.

In `Verifier.cpp`, `isValidMetadataArray` is a leftover declaration with no definition and no callers, so it's removed. In `SafepointIRVerifier.cpp`, `PrintValueSet` is only used inside `LLVM_DEBUG`, so it gets compiled out in release builds and never instantiates; it's marked `[[maybe_unused]]`.

NFC.

Part of #<!-- -->202945.

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


2 Files Affected:

- (modified) llvm/lib/IR/SafepointIRVerifier.cpp (+3-2) 
- (modified) llvm/lib/IR/Verifier.cpp (-1) 


``````````diff
diff --git a/llvm/lib/IR/SafepointIRVerifier.cpp b/llvm/lib/IR/SafepointIRVerifier.cpp
index b1fb621c41baf..492e1e5bdc8af 100644
--- a/llvm/lib/IR/SafepointIRVerifier.cpp
+++ b/llvm/lib/IR/SafepointIRVerifier.cpp
@@ -267,8 +267,9 @@ static bool containsGCPtrType(Type *Ty) {
 }
 
 // Debugging aid -- prints a [Begin, End) range of values.
-template<typename IteratorTy>
-static void PrintValueSet(raw_ostream &OS, IteratorTy Begin, IteratorTy End) {
+template <typename IteratorTy>
+[[maybe_unused]] static void PrintValueSet(raw_ostream &OS, IteratorTy Begin,
+                                           IteratorTy End) {
   OS << "[ ";
   while (Begin != End) {
     OS << **Begin << " ";
diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp
index f0363b6553440..28ae8c0de4cb1 100644
--- a/llvm/lib/IR/Verifier.cpp
+++ b/llvm/lib/IR/Verifier.cpp
@@ -555,7 +555,6 @@ class Verifier : public InstVisitor<Verifier>, VerifierSupport {
   void visitInlineHistoryMetadata(Instruction &I, MDNode *MD);
   void visitMemCacheHintMetadata(Instruction &I, MDNode *MD);
 
-  template <class Ty> bool isValidMetadataArray(const MDTuple &N);
 #define HANDLE_SPECIALIZED_MDNODE_LEAF(CLASS) void visit##CLASS(const CLASS &N);
 #include "llvm/IR/Metadata.def"
   void visitDIType(const DIType &N);

``````````

</details>


https://github.com/llvm/llvm-project/pull/202975


More information about the llvm-commits mailing list