This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Compilation Mode
QiangHuang <qianghuang87@gmail.com> writes:
> I learned that gcc has two kinds of compilation mode, one for
> "unit-at-a-time" and the other one for "function-at-a-time".
>
> Could someone tell me the exact difference between them ?
In unit-at-a-time mode, every function in the file is converted to
GIMPLE, inlining is run, and then each function is converted to RTL
and then assembler code. In function-at-a-time mode, each function is
converted to GIMPLE, then to RTL, then to assembler code. Thus one
difference is whether a function can inline a function defined later
in the source file.
In general gcc is moving to supporting only unit-at-a-time mode. The
only reason to ever use function-at-a-time mode is to reduce the
memory requirements of the compiler. It should not be used for any
other reason.
Ian