This is the mail archive of the gcc-patches@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: [trunk][patch] Don't print warnings in mangle_decl


Diego Novillo wrote:
> 2009/4/16 Mark Mitchell <mark@codesourcery.com>:
> 
>> I don't see how we can have both of laziness and errors at the point of declaration.
> 
> Another thing to consider is that we can only be lazy until we hit the
> hand-off point from the FE into the ME.  We can no longer wait until
> very late in the RTL phase.  I don't really see a way out of mangling
> relatively early.

But, in a typical C++ program, many functions never need to reach the ME
at all.  We typically have vast piles of headers full of functions that
are unreachable from the actual functions generated in the object file.
 We ought to be designing with that in mind, since that could make the
compiler a lot faster.  Even for LTO you don't need these functions.

I don't know how much of this reaches the ME at present, but the FE
should be able to track reachability and avoid passing on lots of stuff.
 We don't need to convert to GENERIC, GIMPLE, etc. just to find out that
a function is never called.

What I think should happen is that we should do FE reachability
analysis, then toss out everything unreachable, then mangle what's left,
then pass things on to the ME.

That may mean that we're not going to have "instantiated from here"
tracebacks.  But, I think that's OK.

Thoughts?

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713


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