Skip to content

Commit

Permalink
[AMDGPU][AsmParser][NFC] Simplify the EndpgmImm operand definition.
Browse files Browse the repository at this point in the history
Clears the road to eliminating custom default operand handlers. Also
unifies naming of related entities.

Part of <llvm/llvm-project#62629>.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D151687
  • Loading branch information
kosarev authored and veselypeta committed Aug 28, 2024
2 parents f1705b1 + 616d30c commit c1f18d2
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 17 deletions.
8 changes: 4 additions & 4 deletions llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1823,8 +1823,8 @@ class AMDGPUAsmParser : public MCTargetAsmParser {
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;
Expand Down Expand Up @@ -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);
}

Expand Down Expand Up @@ -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;

Expand Down
13 changes: 1 addition & 12 deletions llvm/lib/Target/AMDGPU/SIInstrInfo.td
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -1022,10 +1014,7 @@ def SwizzleImm : Operand<i16> {
let ParserMatchClass = SwizzleMatchClass;
}

def EndpgmImm : Operand<i16> {
let PrintMethod = "printEndpgm";
let ParserMatchClass = EndpgmMatchClass;
}
def Endpgm : CustomOperand<i16, 1>;

def WAIT_FLAG : Operand <i32> {
let ParserMatchClass = SWaitMatchClass;
Expand Down
2 changes: 1 addition & 1 deletion llvm/lib/Target/AMDGPU/SOPInstructions.td
Original file line number Diff line number Diff line change
Expand Up @@ -1175,7 +1175,7 @@ multiclass SOPP_With_Relaxation <string opName, dag ins,
def S_NOP : SOPP_Pseudo<"s_nop" , (ins i16imm:$simm16), "$simm16">;

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;
Expand Down

0 comments on commit c1f18d2

Please sign in to comment.