This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Out of SSA status and issues
- From: Michael Matz <matz at suse dot de>
- To: Andrew MacLeod <amacleod at redhat dot com>
- Cc: Diego Novillo <dnovillo at redhat dot com>,gcc mailing list <gcc at gcc dot gnu dot org>
- Date: Mon, 12 May 2003 18:04:53 +0200 (CEST)
- Subject: Re: [tree-ssa] Out of SSA status and issues
Hi,
On 12 May 2003, Andrew MacLeod wrote:
> I beleive the bvrute force approach is to flag any variables which are
> elements of PHI's acroiss an abnormal ciroitcal edge, and never copy
> propagate them ie, so in the example, when you look at the PHI, you see
> p_9 and p_14 are used across abnormal critical edges, so you stick them
> in a list of variables never to copy propagate.
A better heuristic is to start with ignoring abnormal critical edges.
Then _if_ there are copies inserted on such edges, mark the involved
variables as never-propagate. In that case rerun the pass. Yes, this
sometimes is slower, but produces better code (i.e. something or -O3
depending on how slow it actually is).
Ciao,
Michael.