[llvm] [AMDGPU] Simplify GetMember...::Get (NFC) (PR #137536)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 27 12:33:41 PDT 2025
https://github.com/kazutakahirata updated https://github.com/llvm/llvm-project/pull/137536
>From 0359aedd53838e52351fb0066c5af76182a33517 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sun, 27 Apr 2025 10:56:44 -0700
Subject: [PATCH 1/2] [AMDGPU] Simplify GetMember...::Get (NFC)
We can use "constexpr if" to combine the two variants of functions.
---
.../AMDGPU/Utils/AMDKernelCodeTUtils.cpp | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp b/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
index 8997911aa8ae1..ec6bede1a693d 100644
--- a/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
+++ b/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
@@ -72,17 +72,14 @@ using namespace llvm::AMDGPU;
class GetMember##member { \
public: \
static const MCExpr *Phony; \
- template <typename U, typename std::enable_if_t<IsMCExpr##member::RESULT, \
- U> * = nullptr> \
- static const MCExpr *&Get(U &C) { \
- assert(IsMCExpr##member::RESULT && \
- "Trying to retrieve member that does not exist."); \
- return C.member; \
- } \
- template <typename U, typename std::enable_if_t<!IsMCExpr##member::RESULT, \
- U> * = nullptr> \
- static const MCExpr *&Get(U &C) { \
- return Phony; \
+ template <typename U> static const MCExpr *&Get(U &C) { \
+ if constexpr (IsMCExpr##member::RESULT) { \
+ assert(IsMCExpr##member::RESULT && \
+ "Trying to retrieve member that does not exist."); \
+ return C.member; \
+ } else { \
+ return Phony; \
+ } \
} \
}; \
const MCExpr *GetMember##member::Phony = nullptr;
>From 5467bd581df6f7088c25bf3d620b05e21d432934 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sun, 27 Apr 2025 12:33:26 -0700
Subject: [PATCH 2/2] Address a comment.
---
llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp b/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
index ec6bede1a693d..0f4edd000d495 100644
--- a/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
+++ b/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
@@ -73,13 +73,10 @@ using namespace llvm::AMDGPU;
public: \
static const MCExpr *Phony; \
template <typename U> static const MCExpr *&Get(U &C) { \
- if constexpr (IsMCExpr##member::RESULT) { \
- assert(IsMCExpr##member::RESULT && \
- "Trying to retrieve member that does not exist."); \
+ if constexpr (IsMCExpr##member::RESULT) \
return C.member; \
- } else { \
+ else \
return Phony; \
- } \
} \
}; \
const MCExpr *GetMember##member::Phony = nullptr;
More information about the llvm-commits
mailing list