Kamil Śliwak
Kamil Śliwak
Right. I suggested making it consistent with current behavior that people are already familiar with but overall I'd much prefer errors to silently omitting fields. If that's an option I'm...
### Are two passes of the `FullInliner` necessary? `FullInliner` does two passes through the code, potentially duplicating some work. The first pass (inlining only tiny functions) seems to be a...
### FullInliner's [BodyCopier](https://github.com/ethereum/solidity/blob/v0.8.28/libyul/optimiser/FullInliner.h#L158-L178) takes ~60% of inliner's running time. #### Profiling `FullInliner::tryInlineStatement()` | Time % | Time | Calls | Scope | |-------:|-----------:|--------:|----------------------------------------------| | 100% | 4.183 s | 810...
## Oversized time impact of UnusedPruner ### Context UnusedPruner is relatively simple, but takes a surprisingly large share of the total optimization time. Here's what it looks like for Uniswap:...
### CSE and DataflowAnalyzer slowness (initial investigation) #### Timing of steps that use DataflowAnalyzer | Time % | Time | Calls | Scope | |-------:|-----------:|--------:|--------------------------------| | 100.0% | 64.251 s...
We have the `IGNORE_VENDORED_DEPENDENCIES=ON` option for this: https://github.com/ethereum/solidity/blob/09e9aa65c68a650c8ccf9b745c04e72aba9e1793/CMakeLists.txt#L40-L45 The only difference is that it does not run `find_package()`, but that could be added as an `else` here: https://github.com/ethereum/solidity/blob/09e9aa65c68a650c8ccf9b745c04e72aba9e1793/CMakeLists.txt#L60-L64 Which I'd...
Yes, I would not call it a bug, but this is definitely an unnecessary detail that we can and probably should remove, the same way we removed visibility from constructors....
By the way, we should not just make it optional but just remove the location. That part is breaking though and will require a deprecation warning. We will need to...
Yes, they should be consolidated IMO. We could have just one example showing them all. Or even just a general description of how the ABI for a getter looks like....
Ping @mehtavishwa30. BTW commits need some cleanup/squashing.