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

Aditya Medhane via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 10 06:53:36 PDT 2026


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

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.

>From 68a05858a9d936c2832b3ad2d1ccfb311a3e8331 Mon Sep 17 00:00:00 2001
From: flash1729 <sherlockedaditya at gmail.com>
Date: Wed, 10 Jun 2026 19:22:31 +0530
Subject: [PATCH] [IR] Remove unused and mark debug-only verifier templates
 (NFC)

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.
---
 llvm/lib/IR/SafepointIRVerifier.cpp | 5 +++--
 llvm/lib/IR/Verifier.cpp            | 1 -
 2 files changed, 3 insertions(+), 3 deletions(-)

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);



More information about the llvm-commits mailing list