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: [patch] Consider "important" candidates in ivopts


Hello,

> On Wed, Sep 29, 2004 at 01:37:07PM +0200, Zdenek Dvorak wrote:
> > -       bitmap_a_and_b (asol, sol, use->related_cands);
> > +       bitmap_a_or_b (asol, data->important_candidates, use->related_cands);
> > +       bitmap_a_and_b (asol, asol, sol);
> 
> Perhaps I'm misunderstanding you, but doesn't this only increase
> the number of candidates?  From the description, I would have 
> expected you to use an AND here.

find_best_candidate is used to choose the cheapest alternative to
express use based on one of candidates in set SOL.  To improve the
compile time, we are taking only some candidates into account,
concretely those directly derived from the use (in set RELATED_CANDS)
and those that we suspect that they might be useful for more than one
use (in set IMPORTANT_CANDIDATES).  I.e. we are indeed interested in
candidates in set SOL & (RELATED_CANDS | IMPORTANT_CANDIDATES).

The bug in the code was that we did not consider IMPORTANT_CANDIDATES,
which made us basically to strength reduce every single giv (in case
that the heuristic to reduce compile time was enabled, i.e. this did not
show up on small loops).

Zdenek


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