Skip to content

[Moore] Handle delayed assignments in concat-ref lowering#10641

Closed
AmurG wants to merge 1 commit into
llvm:mainfrom
AmurG:pr-moore-simplify-refs
Closed

[Moore] Handle delayed assignments in concat-ref lowering#10641
AmurG wants to merge 1 commit into
llvm:mainfrom
AmurG:pr-moore-simplify-refs

Conversation

@AmurG

@AmurG AmurG commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

SimplifyRefs' concat-ref splitting created a plain assignment for each extracted slice, which dropped the delay operand on DelayedContinuousAssignOp / DelayedNonBlockingAssignOp and 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

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.
@AmurG AmurG force-pushed the pr-moore-simplify-refs branch from be41420 to 7383ee1 Compare June 13, 2026 02:00
@circt-bot

circt-bot Bot commented Jun 13, 2026

Copy link
Copy Markdown

Results of circt-tests run for 7383ee1 compared to results for e003d2c: no change to test results.

@AmurG

AmurG commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

@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.

@AmurG

AmurG commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

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.

Comment on lines -86 to +98
OpTy::create(rewriter, op.getLoc(), operand, extract);
createSplitAssign(op, rewriter, operand, extract);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@AmurG

AmurG commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

Closing (same reset as #10697). Your suggestion was right — createSplitAssign should just be inlined at its single use. This re-files rebased with that applied once the current small batch clears; I'd rather bring it back with its motivating tests named than leave it open half-updated. Thanks for the review.

@AmurG AmurG closed this Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants