Skip to content

Conversation

@copybara-service
Copy link

[codegen 1.5] Fix a pipeline-register insertion bug for I/O & state operands

After I/O lowering, we previously ended up moving the use of the operands into logic outside of the pipeline stages. Since pipeline register insertion happened after that point, it would think the uses did not need pipeline registers, accidentally linking (e.g.) Sends directly to their inputs with no intervening registers.

To fix this, we temporarily route these uses through identity nodes in the stage where the operation was scheduled, and rely on our dataflow & identity cleanup passes to remove them later.

The same principle applies to state-write operations too.

This lets us re-enable the BasicDatapathResetAndInputFlop test.

@copybara-service copybara-service bot force-pushed the test_849268379 branch 2 times, most recently from 084b4a9 to bc45266 Compare January 2, 2026 22:39
@copybara-service copybara-service bot closed this Jan 2, 2026
@copybara-service copybara-service bot deleted the test_849268379 branch January 2, 2026 23:17
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.

0 participants