-
Notifications
You must be signed in to change notification settings - Fork 23
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
Extract CFDFC from standard level #4
Conversation
I just had a very quick look and will do a full review before tomorrow night. In the meantime, can you remove everything from the PR that is not just CFDFC extraction? I see that there is code related to declaration/definition of the buffer pass for example in there, which is not directly related to CFDFC extraction (it's the next PR you will make after we merge this). In the spirit of doing more atomic/managable PRs, only the code directly handling CFDFC extraction should be in this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I started to review and left a bunch of comments here and there but to me (as I commented above) it seems that the code entangles MILP solving and CFDFC extraction, whereas the goal was to only push things related to CFDFC extraction in this first step in order to keep the review manageable. For example, if I undestand buffer placement correctly, there shouldn't be any need for Gurobi at this stage since CFDFC extraction is essentially a graph processing step.
Anyway, I'm struggling to see where everything fits so maybe it's better to meet and discuss directly.
As we said today, it looks like you could simplify your You can check the condition by using the following code snippet ( if (failed(verifyAllValuesHasOneUse(funcOp))) {
funcOp.emitOpError() << "not all values are used exactly once";
return failure(); // or do something that makes sense in the context
} The |
Given the amount of code related to buffer placement and the fact that we ultimately want to have it built conditionally based on whether Gurobi is installed, I think it would be good to group all related files in a subdirecory. For example, you could put Also, you can rename |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some comments, mostly cosmetic stuff. We need to setup conditional compilation depending on whether Gurobi is installed on the system. I may have a go at it myself on the branch.
include/dynamatic/Transforms/BufferPlacement/HandshakePlaceBuffers.h
Outdated
Show resolved
Hide resolved
include/dynamatic/Transforms/BufferPlacement/HandshakePlaceBuffers.h
Outdated
Show resolved
Hide resolved
include/dynamatic/Transforms/BufferPlacement/HandshakePlaceBuffers.h
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just left a couple minor comments, after they are solved we can merge!
No description provided.