This is the mail archive of the gcc@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: [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.


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