From 616d30c2cc3b4e859a4ca53b667f8214362ce490 Mon Sep 17 00:00:00 2001 From: Ivan Kosarev Date: Tue, 13 Jun 2023 18:38:49 +0100 Subject: [PATCH] [AMDGPU][AsmParser][NFC] Simplify the EndpgmImm operand definition. Clears the road to eliminating custom default operand handlers. Also unifies naming of related entities. Part of . Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D151687 --- llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 8 ++++---- llvm/lib/Target/AMDGPU/SIInstrInfo.td | 13 +------------ llvm/lib/Target/AMDGPU/SOPInstructions.td | 2 +- 3 files changed, 6 insertions(+), 17 deletions(-) diff --git a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp index 7b4817f..6205678 100644 --- a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp +++ b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp @@ -1823,8 +1823,8 @@ public: AMDGPUOperand::Ptr defaultCBSZ() const; AMDGPUOperand::Ptr defaultABID() const; - OperandMatchResultTy parseEndpgmOp(OperandVector &Operands); - AMDGPUOperand::Ptr defaultEndpgmImmOperands() const; + OperandMatchResultTy parseEndpgm(OperandVector &Operands); + AMDGPUOperand::Ptr defaultEndpgm() const; AMDGPUOperand::Ptr defaultWaitVDST() const; AMDGPUOperand::Ptr defaultWaitEXP() const; @@ -8713,7 +8713,7 @@ AMDGPUOperand::Ptr AMDGPUAsmParser::defaultDppRowMask() const { return AMDGPUOperand::CreateImm(this, 0xf, SMLoc(), AMDGPUOperand::ImmTyDppRowMask); } -AMDGPUOperand::Ptr AMDGPUAsmParser::defaultEndpgmImmOperands() const { +AMDGPUOperand::Ptr AMDGPUAsmParser::defaultEndpgm() const { return AMDGPUOperand::CreateImm(this, 0, SMLoc(), AMDGPUOperand::ImmTyEndpgm); } @@ -9196,7 +9196,7 @@ unsigned AMDGPUAsmParser::validateTargetOperandClass(MCParsedAsmOperand &Op, // endpgm //===----------------------------------------------------------------------===// -OperandMatchResultTy AMDGPUAsmParser::parseEndpgmOp(OperandVector &Operands) { +OperandMatchResultTy AMDGPUAsmParser::parseEndpgm(OperandVector &Operands) { SMLoc S = getLoc(); int64_t Imm = 0; diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.td b/llvm/lib/Target/AMDGPU/SIInstrInfo.td index 4cbe0fc..c9272b8 100644 --- a/llvm/lib/Target/AMDGPU/SIInstrInfo.td +++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.td @@ -980,14 +980,6 @@ def SwizzleMatchClass : AsmOperandClass { let IsOptional = 1; } -def EndpgmMatchClass : AsmOperandClass { - let Name = "EndpgmImm"; - let PredicateMethod = "isEndpgm"; - let ParserMethod = "parseEndpgmOp"; - let RenderMethod = "addImmOperands"; - let IsOptional = 1; -} - def SWaitMatchClass : AsmOperandClass { let Name = "SWaitCnt"; let RenderMethod = "addImmOperands"; @@ -1022,10 +1014,7 @@ def SwizzleImm : Operand { let ParserMatchClass = SwizzleMatchClass; } -def EndpgmImm : Operand { - let PrintMethod = "printEndpgm"; - let ParserMatchClass = EndpgmMatchClass; -} +def Endpgm : CustomOperand; def WAIT_FLAG : Operand { let ParserMatchClass = SWaitMatchClass; diff --git a/llvm/lib/Target/AMDGPU/SOPInstructions.td b/llvm/lib/Target/AMDGPU/SOPInstructions.td index ad9af66..04e2521 100644 --- a/llvm/lib/Target/AMDGPU/SOPInstructions.td +++ b/llvm/lib/Target/AMDGPU/SOPInstructions.td @@ -1175,7 +1175,7 @@ multiclass SOPP_With_Relaxation ; let isTerminator = 1 in { -def S_ENDPGM : SOPP_Pseudo<"s_endpgm", (ins EndpgmImm:$simm16), "$simm16", [], ""> { +def S_ENDPGM : SOPP_Pseudo<"s_endpgm", (ins Endpgm:$simm16), "$simm16", [], ""> { let isBarrier = 1; let isReturn = 1; let hasSideEffects = 1; -- 2.7.4