On Fri, 19 Jun 2026, Paul Koning via cctalk wrote:
No part, and I don't recall that any ever did.
There are a number of
internal representations inside GCC, the specific set and nature of
which has changed over time. There's a tree representation, and
something called "GIMPLE" (don't remember what that means) and later on
there is "RTL" which is what the back ends consume. Those intermediate
forms I think are meant to be generic representations of the program,
through various transformations. The assorted optimization schemes act
on these representations. I suspect part of the reason for multiple
representations is that some optimizations are more easly done on one of
them and others on a different one.
Original GCC was a plain RTL compiler, other internal representations
were only retrofitted later on, in early 2000s. You are right in that
their use enabled optimisations which were infeasible with RTL.
Maciej