3 ms·
Thanks @steveklabnik we basically have the same in gccrs: 1. AST 2. HIR 3. THIR (side-table lookups) 4. GCC Generic We basically skip MIR in gccrs. Its prett
by philberty 4y ago
Thanks @steveklabnik we basically have the same in gccrs:
1. AST
2. HIR
3. THIR (side-table lookups)
4. GCC Generic
We basically skip MIR in gccrs.
Its pretty sensible to have other IR's, we have many passes in gccrs simplifying things so the graph of what your working with is simpler and simpler each time.
I mean in GCC for C++ for example they use GENERIC and add a bunch of custom tree-codes such as LAMBDA_EXPR or TEMPLATE stuff for example then they keep substituting etc and finally as part of handing off to GCC middle-end it triggers the gimplification of all of these custom tree codes. So even the C++ front-end you could argue has two IR's.
- steveklabnik 4y agoGood to know, thanks! I’m excited to see gcc-Rama develop, I just haven’t had time to learn how any of it works. Keep up the good work!
- steveklabnik 4y ago...gcc-rs. thanks autocorrect.