[llvm] cbd3283 - [AMDGPU] Simplify PrintField::printField (NFC) (#137502)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 27 08:52:33 PDT 2025
Author: Kazu Hirata
Date: 2025-04-27T08:52:29-07:00
New Revision: cbd32833fb17b678171a49fce7f98dfd305261a4
URL: https://github.com/llvm/llvm-project/commit/cbd32833fb17b678171a49fce7f98dfd305261a4
DIFF: https://github.com/llvm/llvm-project/commit/cbd32833fb17b678171a49fce7f98dfd305261a4.diff
LOG: [AMDGPU] Simplify PrintField::printField (NFC) (#137502)
We can use "constexpr if" to combine the two variants of functions.
Added:
Modified:
llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp b/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
index b05696d2dfa05..8997911aa8ae1 100644
--- a/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
+++ b/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
@@ -222,22 +222,17 @@ static int get_amd_kernel_code_t_FieldIndex(StringRef name) {
class PrintField {
public:
- template <typename T, T AMDGPUMCKernelCodeT::*ptr,
- typename std::enable_if_t<!std::is_integral_v<T>, T> * = nullptr>
+ template <typename T, T AMDGPUMCKernelCodeT::*ptr>
static void printField(StringRef Name, const AMDGPUMCKernelCodeT &C,
raw_ostream &OS, MCContext &Ctx,
AMDGPUMCKernelCodeT::PrintHelper Helper) {
- OS << Name << " = ";
- const MCExpr *Value = C.*ptr;
- Helper(Value, OS, Ctx.getAsmInfo());
- }
-
- template <typename T, T AMDGPUMCKernelCodeT::*ptr,
- typename std::enable_if_t<std::is_integral_v<T>, T> * = nullptr>
- static void printField(StringRef Name, const AMDGPUMCKernelCodeT &C,
- raw_ostream &OS, MCContext &,
- AMDGPUMCKernelCodeT::PrintHelper) {
- OS << Name << " = " << (int)(C.*ptr);
+ if constexpr (!std::is_integral_v<T>) {
+ OS << Name << " = ";
+ const MCExpr *Value = C.*ptr;
+ Helper(Value, OS, Ctx.getAsmInfo());
+ } else {
+ OS << Name << " = " << (int)(C.*ptr);
+ }
}
};
More information about the llvm-commits
mailing list