Files
revng-revng/include/revng/Clift/CliftOpInterfacesJump.td
2026-04-27 12:48:24 +03:00

37 lines
925 B
TableGen

//
// This file is distributed under the MIT License. See LICENSE.md for details.
//
#ifndef MLIR_CLIFT_OP_INTERFACES_JUMP
#define MLIR_CLIFT_OP_INTERFACES_JUMP
include "revng/Clift/CliftOpInterfacesLabel.td"
def Clift_JumpStatementOpInterface
: Clift_OpInterface<"JumpStatementOpInterface",
[Clift_StatementOpInterface]> {
let description = [{
Common interface for labeled jump statements.
}];
let methods = [
InterfaceMethod<
/*desc=*/"Returns the target label of this jump operation.",
"mlir::Value", "getLabel", (ins),
/*methodBody=*/[{}],
/*defaultImplementation=*/ [{}]
>,
InterfaceMethod<
/*desc=*/"",
"clift::LabelAssignmentOpInterface", "getLabelAssignmentOp", (ins),
/*methodBody=*/[{}],
/*defaultImplementation=*/ [{
return clift::impl::getLabelAssignmentOp($_op.getLabel());
}]
>,
];
}
#endif