This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[lto][RFC] Do not emit hybrid object files
- From: "Diego Novillo" <dnovillo at google dot com>
- To: gcc at gcc dot gnu dot org
- Cc: "Kenneth Zadeck" <zadeck at naturalbridge dot com>, "Jan Hubicka" <jh at suse dot cz>
- Date: Fri, 17 Oct 2008 15:07:07 -0400
- Subject: [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.