This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]