vyperlang / vyper

Pythonic Smart Contract Language for the EVM
https://vyperlang.org
Other
4.91k stars 803 forks source link

feat[venom]: improve mem2var and store elimination passes #4302

Open charles-cooper opened 1 month ago

charles-cooper commented 1 month ago

run an extra store elimination before mem2var. this eliminates dummy stores which (currently) block lifting in mem2var.

What I did

How I did it

How to verify it

Commit message

Commit message for the final, squashed PR. (Optional, but reviewers will appreciate it! Please see our commit message style guide for what we would ideally like to see in a commit message.)

Description for the changelog

Cute Animal Picture

![Put a link to a cute animal picture inside the parenthesis-->]()

charles-cooper commented 1 month ago

currently fails in make_ssa. repro:

# pragma experimental-codegen

@external
@payable
def fooBar(a: int128 = 12345) -> int128:
    return a