[llvm] [AMDGPU] Simplify GetMember...::Get (NFC) (PR #137536)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 27 11:13:32 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Kazu Hirata (kazutakahirata)
<details>
<summary>Changes</summary>
We can use "constexpr if" to combine the two variants of functions.
---
Full diff: https://github.com/llvm/llvm-project/pull/137536.diff
1 Files Affected:
- (modified) llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp (+8-11)
``````````diff
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;
``````````
</details>
https://github.com/llvm/llvm-project/pull/137536
More information about the llvm-commits
mailing list