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: PING fwprop and pr/19653


On Mon, 2006-03-13 at 19:34 +0100, Steven Bosscher wrote: 
> On 3/13/06, Jeffrey A Law <law@redhat.com> wrote:
> > I haven't had the opportunity to reevaluate whether or not the
> > RTL jump threading code is totally subsumed,
> 
> It is not.  Not entirely anyway.
> 
> In the GCC sourcers itself when compiling with loop unrolling, the RTL
> jump threader still finds a somewhat significant number of threading
> opportunities.
That doesn't totally surprise me -- I never looked closely at 
whether or not option twiddling would present the RTL jump threader
with more opportunities.  The other aspect I had not investigated
was whether or not expansion was likely to create new threading
opportunities on certain targets (think expansion of DImode ops
into a series of SImode ops, particularly conditionals) -- that
second case is also a concern for removing the expensive jump
following code in CSE.


>  At "normal" -O2, there were about 50 jump threads in my entire
> collection of cc1-i files (that is, .i and .ii files, >700 in total),
> but all except 2 of those turned out to be cases that jump bypassing
> (see gcse.c) should be able to handle with a little more effort.
That's a little lower than I would have expected -- when I last
looked (before alias improvements, VRP, etc) we were around a thousand
for my test bucket.

Note that I do want the jump bypassing code in gcse to disappear as
well.  So rather than trying to extend jump bypassing, I'd like to
see us focus on whether or not we can detect this stuff at the
tree level.

It's also the case that I'd be willing to lose a *small* number of
optimization opportunities if we decide that it's simply not 
feasible to catch everything at the tree level and the cases we
are missing aren't terribly important.

Jeff


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