The --via-ir pipeline allows for much deeper optimizations to be performed, it will require a lot of work to improve our output for it.
This PR includes a couple of small improvements:
Constant propagation for "private" arguments to public functions.
Making some memory argument inference rules more strict, to prevent spurious argument inference.
I benchmarked the changes on a dataset of 372 smart contracts compiled with solc 0.8.17 using --via-ir:
The
--via-ir
pipeline allows for much deeper optimizations to be performed, it will require a lot of work to improve our output for it. This PR includes a couple of small improvements:I benchmarked the changes on a dataset of 372 smart contracts compiled with solc 0.8.17 using
--via-ir
: