diff --git a/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp b/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp index 8997911aa8ae1..0f4edd000d495 100644 --- a/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp +++ b/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp @@ -72,17 +72,11 @@ using namespace llvm::AMDGPU; class GetMember##member { \ public: \ static const MCExpr *Phony; \ - template * = nullptr> \ - static const MCExpr *&Get(U &C) { \ - assert(IsMCExpr##member::RESULT && \ - "Trying to retrieve member that does not exist."); \ - return C.member; \ - } \ - template * = nullptr> \ - static const MCExpr *&Get(U &C) { \ - return Phony; \ + template static const MCExpr *&Get(U &C) { \ + if constexpr (IsMCExpr##member::RESULT) \ + return C.member; \ + else \ + return Phony; \ } \ }; \ const MCExpr *GetMember##member::Phony = nullptr;