mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
37 lines
925 B
TableGen
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
|