-
Notifications
You must be signed in to change notification settings - Fork 20
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
[EVM] Refactor EVMControlFlowGraph/EVMControlFlowGraphBuilder #750
[EVM] Refactor EVMControlFlowGraph/EVMControlFlowGraphBuilder #750
Conversation
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.
Overall, the code looks good. I just have a few comments.
Hey @vladimirradosavljevic, thank you for the review. I agree with all the notes. Please find the fixes in the last commit. |
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.
LGTM, thanks
} | ||
|
||
static bool isTerminate(const MachineInstr *MI) { | ||
unsigned Opc = MI->getOpcode(); |
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.
nit: unnecessary temporary.
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.
Thanks.
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.
LGTM, thanks! Just small nitpicking.
Please squash and merge |
- Removed EVMControlFlowGraph/EVMControlFlowGraphBuilder classes - Functionality that analyzes machine CFG and provides query methods was moved to EVMMachineCFGInfo class - Information about MBB terminators is represented in EVMMBBTerminatorsInfo class - StackSlot, Stack and Operation definitions were moved to EVMStackModel - Replaced almost all the std::map/std::set with llvm counterparts in EVMStackLayoutGenerator
d5d4939
to
0b13fca
Compare
Code Review Checklist
Purpose
Ticket Number
Requirements
Implementation
Logic Errors and Bugs
code does not behave as intended?
that could break the code?
Error Handling and Logging
be added or removed?
written in a way that allows for easy
debugging?
Maintainability
Dependencies
Security
Performance
system performance?
performance of the code significantly?
Testing and Testability
that should be tested in addition?
Readability
smaller methods?
different function, method or variable names?
file/folder/package?
restructured to have a more intuitive control
flow?
better?
understandable?
Documentation
Best Practices
Experts' Opinion
expert or a usability expert, should look over
the code before it can be accepted?