This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Consider "important" candidates in ivopts
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Richard Henderson <rth at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 1 Oct 2004 11:02:37 +0200
- Subject: Re: [patch] Consider "important" candidates in ivopts
- References: <20040929113707.GA15706@atrey.karlin.mff.cuni.cz> <20040930223600.GC9654@redhat.com>
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