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: Fix thinko in cleanup_tree_cfg


> >   Only
> > vague "It helps redundancy elimination, etc" statements (while at the
> > same time, it incredibly messes up the CFG in a lot of cases).
> If you've got cases where it's messing up the CFG, please do pass
> them along.  We have the ability to prune out jump thread requests
> which do more harm than good.  Right now that pruning code is mostly
> concerned with avoiding creation of irreducible loops, but it can
> be extended as necessary.

One thing it increases code size too much, even for -Os and -O2.
See PR 21883 for an example where code size could almost double because
of jump threading.  In fact this was reported two months ago and nothing
has been done about it.  This is a very bad code size regression and really
does not help with preformance as the one extra branch after a lot of functions
call is not going to hurt.

There are other causes which jump threading does stupid things like this.
Dynamic jump threading is not as interesting for static jump threading which
actually helps more.

-- Pinski


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