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]

Re: Beginner's question:Are there any inter-procedural optimizationin GCC backend ?


On Thu, 2003-11-06 at 11:33, Gabriel Dos Reis wrote:
> Complaints about inlining regressions from 2.95.x to 3.x are evidence
> that  the RTL-inliner is not doing the same as the tree-inliner.

These are problems with the heuristics being used to decide when to
inline.  I think they little to do with the issue of whether we inline
trees or RTL.  I think they are orthogonal issues.

As I mentioned in my first response to you, if you ignore problems with
the heuristics for deciding when to inline, the tree inliner should
always be better.  So there are two things we need to do here to move
forward.  We need to phase out the old RTL inliner.  And we need to fix
the heuristics that the tree inliner uses to determine when to inline. 
Just making the old heuristics available would make a lot of people
happy, but there may be ways to fix the current heuristics to get the
behavior that people want.

One case where trees vs RTL may matter is in how we count the size of a
function, since lowering to RTL may affect the apparent size of a
function.  I am not convinced that this is a significant issue though.

I haven't looked into the problems with the tree inliner heuristics, so
I don't know what the problem is. 
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com


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