[LTL] Add ClockedDelayOp description#10415
Conversation
|
@TaoBi22 Thanks for your recent work on the |
| let hasFolder = 1; | ||
| let hasCanonicalizer = 1; |
There was a problem hiding this comment.
You'll need to drop these until the respective methods are added (I believe that's what's causing the CI failure)
| OptionalAttr<I64Attr>:$length); | ||
| let results = (outs LTLSequenceType:$result); | ||
| let assemblyFormat = [{ | ||
| $clock `,` $edge `,` $input `,` $delay (`,` $length^)? attr-dict `:` type($input) |
There was a problem hiding this comment.
Nit: could we make the syntax something like:
| $clock `,` $edge `,` $input `,` $delay (`,` $length^)? attr-dict `:` type($input) | |
| $input `,` $edge $clock `,` $delay (`,` $length^)? attr-dict `:` type($input) |
to keep this in line with ltl.clock and ltl.past (which doesn't actually have an edge specification yet, but that's on my todo list once #10392 lands)
| This operation is intentionally unclocked. Use `ltl.clocked_delay` for | ||
| explicitly clocked delays. |
There was a problem hiding this comment.
Super-nit: We've already explained the clocking situation above, so we can drop the first sentence and attach the second to the end of the paragraph above.
c74217c to
7486291
Compare
|
@TaoBi22 fixed. |
- Move ClockEdgeAttr and ClockOp definitions before the Sequences section so they can be referenced by sequence operations. - Add new ClockedDelayOp for explicitly clocked delays with mandatory clock and edge parameters. Syntax: clocked_delay input, edge clock, delay[, length]. - Add ClockedDelayOp to LTL Visitor TypeSwitch for downstream consumers. - Update DelayOp documentation to clarify unclocked semantics.
|
Thanks @Clo91eaf! Are you happy for this to be merged? |
|
@TaoBi22 Of course! Thank you! |
This PR is the small piece of first step of the #9859.
Create a new operation of
ltl.clocked_delayExample:
Assisted-by: Claude Code : claude-opus-4.6
Close: #9869