vyperlang / vyper

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

fix[venom]: clear `out_vars` during calculation #4129

Closed harkal closed 3 weeks ago

harkal commented 3 weeks ago

What I did

Fixed a bug where I was not clearing the out_vars of a basic block

How I did it

How to verify it

Commit message

Clear `out_vars` set at start of calculations

When computing `out_vars` for each basic block, we perform set unions
of variables expected by all successor basic blocks of the current block.
This commit clears the `out_vars` set at the beginning of the calculations.

Description for the changelog

Cute Animal Picture

 /\_/\  
( o.o ) 
 > ^ <
charles-cooper commented 3 weeks ago

hmm, finding this causes some bytecode size regression in branch_storm.vy