refac: decouple LLVM specifics from YUL parser
What ❔
Parameterize parser with previously LLVM-specific details (i.e. function attributes).
Why ❔
LLVM-specific logic has to be decoupled from the parser so that parser can be decoupled from the compiler and reused in other contexts.
Codecov Report
Attention: Patch coverage is 73.96509% with 522 lines in your changes missing coverage. Please review.
Project coverage is 53.03%. Comparing base (
1d861cb) to head (e94cd66). Report is 1 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #123 +/- ##
==========================================
+ Coverage 52.59% 53.03% +0.43%
==========================================
Files 106 129 +23
Lines 14761 15346 +585
==========================================
+ Hits 7764 8138 +374
- Misses 6997 7208 +211
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
It looks like there are still 2 parsers: in both new and original crate. Did you want an intermediate review? :)
Yes, that would be fantastic!
I have left the dialect-specific code (including the LLVM IR generation) in the era-compiler-solidity crate; the dialect-independent code is in yul-syntax-tools (that I will rename).
I will fix the things you have pinpointed and ping you again.
It looks like there are still 2 parsers: in both new and original crate. Did you want an intermediate review? :)
Yes, that would be fantastic!
I have left the dialect-specific code (including the LLVM IR generation) in the
era-compiler-soliditycrate; the dialect-independent code is inyul-syntax-tools(that I will rename).I will fix the things you have pinpointed and ping you again.
Sure. I've pointed out what I could catch, but let's continue when you remove Yul structures and parsing logic from era-compiler-solidity, as that's the most important part.
@hedgar2017 ready for review