Just as another idea -

Steven Bosscher wrote:

> (The proper solution is of course to have an IR that we can stream
> to disk, *sigh*  ;-)

AFAICT, MSVC solves this by generating some of the code when it reaches some
memory limit. So when GCC is under some memory pressure it could identify
functions with no/limited interdependency on other functions in the tree,
then carry out the rest of the compile passes on those functions only (i.e.
write out their code and free the IR), then pick up where it left off for
the test of the code?

Except I don't really know enough about the passes to know if that's
feasible or not, and in any case it sounds like a lot of work to hop between
passes :-/

Rup.

Reply via email to