Skip to content
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

Improve performance of expression propagation #435

Merged
merged 3 commits into from
Aug 19, 2024
Merged

Conversation

rihi
Copy link
Collaborator

@rihi rihi commented Aug 14, 2024

For some larger binaries, expression propagation can be quite slow.
One of the many reasons for this is that networkx assumes (maybe rightfully so), that calls to __str__ of nodes are relatively cheap, compared operation of calculating if a path exists between two nodes.
However, because basicblocks create a string representation by printing every single instruction, a lot of time is spend on this instead.

This PR changes changes the implementation of __str__ of basicblocks to simply use the cheap debu representation instead.

@rihi rihi self-assigned this Aug 14, 2024
@steffenenders steffenenders enabled auto-merge (squash) August 15, 2024 08:09
@steffenenders steffenenders merged commit ecee86b into main Aug 19, 2024
1 check passed
@steffenenders steffenenders deleted the basicblock-str branch August 19, 2024 09:15
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