-
-
Notifications
You must be signed in to change notification settings - Fork 867
feat[venom]: improve inter-basic block stack ordering #4646
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
feat[venom]: improve inter-basic block stack ordering #4646
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
vyper/venom/passes/dft.py
Outdated
|
|
||
| while len(worklist) > 0: | ||
| bb = worklist.popleft() | ||
| stack_order = self.stack_order.handle_bbs(list(self.cfg.cfg_out(bb))) |
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.
does the liveness need to be recomputed for these bbs?
Stack order rewrite
vyper/venom/analysis/stack_order.py
Outdated
| self.stack.append(src) | ||
| elif src in next_live: | ||
| self.stack.append(src) | ||
| if src in self.stack: |
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.
Always true
What I did
inter bb stack analysis
How I did it
used the intra bb analysis (dft) as a base for the inter bb by propagating the information between the basic blocks
How to verify it
Commit message
Description for the changelog
Cute Animal Picture