This is the mail archive of the gcc@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]

[lto][RFC] Do not emit hybrid object files


We are currently emitting object files that contain both final code
and IL.  I believe this is wasteful and does not really serve a useful
purpose.  However, I think we started emitting hybrid object files for
some reason.  Does anyone remember why?

Object files with just IL are not a problem for the linker because the
norm is to link using the gcc/g++ drivers, which already know how to
deal with those, so they are transparent to the user.

Emitting hybrid files makes -flto compiles even slower than they
already are.  Additionally, they are problematic in that we may emit
diagnostic messages (warning and info) more than once, which is
confusing and irritating to users.  For instance, a warning during
builtin expansion will be emitted both by cc1 and lto1.  Disabling the
duplicate warning is not trivial because the first time we emit the
warning in cc1/cc1plus, we do it after gimple has been written out, so
there is no way of telling lto1 that it shouldn't emit that warning.


Thanks.  Diego.


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