Kamil Śliwak
Kamil Śliwak
> Nearly all assembly blocks in the codebase are not annotated as memory-safe, but I'd expect that this shouldn't be an issue for via-ir given that it does compile without...
Well, if the legacy pipeline is compiling this without StackTooDeep, the IR should theoretically be able to arrive at such a solution too. Still, it's not really possible to "fix...
Ah, wait, I also need to think through the cases where the scratch space would be overwritten. So maybe not ok yet (but at least I did not notice any...
> Looking and thinking through the possible cases here again, this might still be problematic for this case: Anything involving type conversions seems safe because the conversion is performed before...
Ok, maybe better to be too careful. In any case, I tried a bunch of cases but did not came up with anything that could break it. For example: -...
I checked how this PR affects compilation times in external tests. Here are the times for `ir-optimize-evm+yul` preset from [run 29920](https://app.circleci.com/pipelines/github/ethereum/solidity/29920/workflows/c61d231c-40a5-4415-8edc-bef92ce843dd) on `develop` (8c7404f639b19a30d0e0ace31002bb48a7a6f5c4) vs [run 29928](https://app.circleci.com/pipelines/github/ethereum/solidity/29928/workflows/7d567d99-859b-4c91-aa81-07a5214f7a91) on `dataflow-analyzer-reverse-lookup` (a8cc9bde9b64d44e19b59ada18412675654e5d22)....
I gathered fresh timing data (and translated the original data into the same format). 1. It seems to me that all the timing differences we see in external tests, even...
Decision from the call: we'll add a warning about comparing internal functions and in 0.9.0 we'll make it an error.
Adding a test case from https://github.com/ethereum/solidity/pull/14367#discussion_r1261431279 ```solidity contract C { function f() internal {} function g() internal {} function test() public returns (bool) { function () internal ptr = C.f;...
Warning added in 0.8.24. What's left here is breaking and scheduled for 0.9.0.