Clears the road to eliminating custom default operand handlers. Also
unifies naming of related entities.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/
D151687
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;
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);
}
// endpgm
//===----------------------------------------------------------------------===//
-OperandMatchResultTy AMDGPUAsmParser::parseEndpgmOp(OperandVector &Operands) {
+OperandMatchResultTy AMDGPUAsmParser::parseEndpgm(OperandVector &Operands) {
SMLoc S = getLoc();
int64_t Imm = 0;
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";
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;
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;