Getting rid of -fno-unit-at-a-time [Was Re: RFC: Preserving order of functions and top-level asms via cgraph]
Daniel Kegel
dkegel@google.com
Mon Apr 11 17:02:00 GMT 2005
"Rupert Wood" <me@rupey.net> wrote:
>> I have a problem with getting rid of -fno-unit-at-a-time. Sometimes
>> we compile huge Java programs; however, keeping all the method bodies
>> consumes vast amouts of memory.
>
> 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?
I think msvc does do that, but in some circumstances, it can
be a real problem. What if there's a code generation bug that only happens
on build machines with X megabytes of memory as a result?
Or what if you care about bit-for-bit repeatable builds for some other reason?
I think some groups at Microsoft now use vmware images with
a known amount of memory to do all their builds to get around this 'feature'.
Please, if this behavior is added, let us turn it off with a flag.
BTW, I hope -fno-unit-at-a-time doesn't go away until at least gcc-4.1.1
or so... I still lean on that crutch.
- Dan
More information about the Gcc
mailing list