[Moore] Handle delayed assignments in concat-ref lowering#10641
Conversation
SimplifyRefs' concat-ref splitting created plain assignments for each extracted slice, dropping the delay on DelayedContinuousAssignOp and DelayedNonBlockingAssignOp and leaving those ops illegal after conversion. Route slice creation through a helper that preserves the delay operand, and mark the delayed assign ops dynamically legal.
be41420 to
7383ee1
Compare
|
@fabianschuiki — small Moore fix (delayed assignments in concat-ref lowering, CI green), no reviewer assigned yet. A review when you get a chance would be appreciated. |
|
Full disclosure: AI generated text, via a human in CLI. @fabianschuiki — small, self-contained Moore concat-ref delayed-assignment fix, CI green and no dependencies. A review whenever you have spare bandwidth would be appreciated — no rush, and definitely lower priority than the sim-runtime work on #10642. |
| OpTy::create(rewriter, op.getLoc(), operand, extract); | ||
| createSplitAssign(op, rewriter, operand, extract); |
There was a problem hiding this comment.
Just a small nit: could we inline createSplitAssign here? That function has only one use, and I don't think keeping it outlined really helps with readability.
|
Closing (same reset as #10697). Your suggestion was right — |
SimplifyRefs' concat-ref splitting created a plain assignment for each extracted slice, which dropped the delay operand onDelayedContinuousAssignOp/DelayedNonBlockingAssignOpand left those ops illegal after the conversion. Route slice creation through a small helper that preserves the delay operand for the delayed variants, and mark the delayed assign ops dynamically legal alongside their non-delayed counterparts.🤖 Generated with Claude Code