10000 Don't apply loop condition to pipelined loops when it is proven true for the first iteration. by copybara-service[bot] · Pull Request #2534 · google/xls · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Don't apply loop condition to pipelined loops when it is proven true for the first iteration. #2534

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

copybara-service[bot]
Copy link

Don't apply loop condition to pipelined loops when it is proven true for the first iteration.

Also add several continuation optimizations to yield a clean data flow graph
for nested pipelined loops.

NOTE: Logic enabling narrowing was temporarily removed from generate_fsm.cc.
This is because when the loop body is unguarded by the loop condition,
as when the first iteration is proven to always have a true condition,
nested loops are broken by this logic. This is because the state element
isn't updated after the last iteration / activation of the (inner) loop, since
the condition being used for this is the jump condition of the loop.

The next_value() generation logic will soon be reworked, so for now this has been
temporarily removed.

…for the first iteration.

Also add several continuation optimizations to yield a clean data flow graph
for nested pipelined loops.

NOTE: Logic enabling narrowing was temporarily removed from generate_fsm.cc.
This is because when the loop body is unguarded by the loop condition,
as when the first iteration is proven to always have a true condition,
nested loops are broken by this logic. This is because the state element
isn't updated after the last iteration / activation of the (inner) loop, since
the condition being used for this is the jump condition of the loop.

The next_value() generation logic will soon be reworked, so for now this has been
temporarily removed.

PiperOrigin-RevId: 778671647
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
0