-
-
Notifications
You must be signed in to change notification settings - Fork 814
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]: make dft-pass commutative aware #4358
feat[venom]: make dft-pass commutative aware #4358
Conversation
use the "choice" heuristic for commutative instructions refactor/misc: some small code cleanup in dft pass
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4358 +/- ##
===========================================
- Coverage 91.23% 45.94% -45.30%
===========================================
Files 112 112
Lines 16010 16015 +5
Branches 2697 2699 +2
===========================================
- Hits 14607 7358 -7249
- Misses 968 8097 +7129
- Partials 435 560 +125 ☔ View full report in Codecov by Sentry. |
This seems to be regressing on |
i'm seeing an improvement --
dft-commutative:
|
vyper/venom/venom_to_assembly.py
Outdated
@@ -434,13 +434,6 @@ def _generate_evm_for_instruction( | |||
# the same variable, however, before a jump that is not possible | |||
self._stack_reorder(assembly, stack, list(target_stack)) | |||
|
|||
if inst.is_commutative: |
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.
This creates regression for me (if I reintroduce it it will create smaller codesize on curve swap)
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.
indeed
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.
interestingly, i found that "always flip if is_commutative" actually performs better for curve swap than any heuristic i came up with.
use the "choice" heuristic for commutative instructions
refactor/misc:
some small code cleanup in dft pass
What I did
How I did it
How to verify it
Commit message
Description for the changelog
Cute Animal Picture