[NFC][Seq] Add folders to clock conversions

This commit is contained in:
Nandor Licker 2023-09-05 03:12:34 -07:00
parent d838fb8a53
commit 68b79fc35f
2 changed files with 19 additions and 5 deletions

View File

@ -544,6 +544,7 @@ def ToClockOp : SeqOp<"to_clock", [Pure]> {
let assemblyFormat = "$input attr-dict";
let hasFolder = 1;
let hasCanonicalizeMethod = 1;
}
@ -555,5 +556,6 @@ def FromClockOp : SeqOp<"from_clock", [Pure]> {
let assemblyFormat = "$input attr-dict";
let hasFolder = 1;
let hasCanonicalizeMethod = 1;
}

View File

@ -896,6 +896,12 @@ LogicalResult ToClockOp::canonicalize(ToClockOp op, PatternRewriter &rewriter) {
return failure();
}
OpFoldResult ToClockOp::fold(FoldAdaptor adaptor) {
if (auto fromClock = getInput().getDefiningOp<FromClockOp>())
return fromClock.getInput();
return {};
}
LogicalResult FromClockOp::canonicalize(FromClockOp op,
PatternRewriter &rewriter) {
if (auto toClock = op.getInput().getDefiningOp<ToClockOp>()) {
@ -905,6 +911,12 @@ LogicalResult FromClockOp::canonicalize(FromClockOp op,
return failure();
}
OpFoldResult FromClockOp::fold(FoldAdaptor adaptor) {
if (auto toClock = getInput().getDefiningOp<ToClockOp>())
return toClock.getInput();
return {};
}
//===----------------------------------------------------------------------===//
// TableGen generated logic.
//===----------------------------------------------------------------------===//