[llvm] [JITLink][ORC] Clean up unused and assert-only function templates (NFC) (PR #202973)

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


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

These function templates trip `-Wunused-template`.

In `aarch32.cpp`, `writeRegister` has no callers, so it's removed. `checkRegister` is only used inside `assert`, so it gets compiled out in release builds (`-DNDEBUG`) and never instantiates; it's marked `[[maybe_unused]]`. Same story for `stubAndPointerRangesOk` in `OrcABISupport.cpp`, which is only used in asserts.

NFC.

Part of #202945.

>From d353b18596a5c118524b11dec18714d7521b80a0 Mon Sep 17 00:00:00 2001
From: flash1729 <sherlockedaditya at gmail.com>
Date: Wed, 10 Jun 2026 19:17:15 +0530
Subject: [PATCH] [JITLink][ORC] Clean up unused and assert-only function
 templates (NFC)

These function templates trip `-Wunused-template`.

In `aarch32.cpp`, `writeRegister` has no callers, so it's removed.
`checkRegister` is only used inside `assert`, so it gets compiled out in release
builds (`-DNDEBUG`) and never instantiates; it's marked `[[maybe_unused]]`. Same
story for `stubAndPointerRangesOk` in `OrcABISupport.cpp`, which is only used in
asserts.

NFC.

Part of #202945.
---
 llvm/lib/ExecutionEngine/JITLink/aarch32.cpp  | 20 ++-----------------
 .../lib/ExecutionEngine/Orc/OrcABISupport.cpp |  6 +++---
 2 files changed, 5 insertions(+), 21 deletions(-)

diff --git a/llvm/lib/ExecutionEngine/JITLink/aarch32.cpp b/llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
index 2f3234683bf55..cc606b8278d26 100644
--- a/llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
+++ b/llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
@@ -341,34 +341,18 @@ const FixupInfoBase *FixupInfoBase::getDynFixupInfo(Edge::Kind K) {
 }
 
 template <EdgeKind_aarch32 Kind>
-bool checkRegister(const ThumbRelocation &R, HalfWords Reg) {
+[[maybe_unused]] bool checkRegister(const ThumbRelocation &R, HalfWords Reg) {
   uint16_t Hi = R.Hi & FixupInfo<Kind>::RegMask.Hi;
   uint16_t Lo = R.Lo & FixupInfo<Kind>::RegMask.Lo;
   return Hi == Reg.Hi && Lo == Reg.Lo;
 }
 
 template <EdgeKind_aarch32 Kind>
-bool checkRegister(const ArmRelocation &R, uint32_t Reg) {
+[[maybe_unused]] bool checkRegister(const ArmRelocation &R, uint32_t Reg) {
   uint32_t Wd = R.Wd & FixupInfo<Kind>::RegMask;
   return Wd == Reg;
 }
 
-template <EdgeKind_aarch32 Kind>
-void writeRegister(WritableThumbRelocation &R, HalfWords Reg) {
-  static constexpr HalfWords Mask = FixupInfo<Kind>::RegMask;
-  assert((Mask.Hi & Reg.Hi) == Reg.Hi && (Mask.Lo & Reg.Lo) == Reg.Lo &&
-         "Value bits exceed bit range of given mask");
-  R.Hi = (R.Hi & ~Mask.Hi) | Reg.Hi;
-  R.Lo = (R.Lo & ~Mask.Lo) | Reg.Lo;
-}
-
-template <EdgeKind_aarch32 Kind>
-void writeRegister(WritableArmRelocation &R, uint32_t Reg) {
-  static constexpr uint32_t Mask = FixupInfo<Kind>::RegMask;
-  assert((Mask & Reg) == Reg && "Value bits exceed bit range of given mask");
-  R.Wd = (R.Wd & ~Mask) | Reg;
-}
-
 template <EdgeKind_aarch32 Kind>
 void writeImmediate(WritableThumbRelocation &R, HalfWords Imm) {
   static constexpr HalfWords Mask = FixupInfo<Kind>::ImmMask;
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp b/llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
index abf3931d94d1f..8e6728281575f 100644
--- a/llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
@@ -16,9 +16,9 @@ using namespace llvm;
 using namespace llvm::orc;
 
 template <typename ORCABI>
-static bool stubAndPointerRangesOk(ExecutorAddr StubBlockAddr,
-                                   ExecutorAddr PointerBlockAddr,
-                                   unsigned NumStubs) {
+[[maybe_unused]] static bool
+stubAndPointerRangesOk(ExecutorAddr StubBlockAddr,
+                       ExecutorAddr PointerBlockAddr, unsigned NumStubs) {
   constexpr unsigned MaxDisp = ORCABI::StubToPointerMaxDisplacement;
   ExecutorAddr FirstStub = StubBlockAddr;
   ExecutorAddr LastStub = FirstStub + ((NumStubs - 1) * ORCABI::StubSize);



More information about the llvm-commits mailing list