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] Predictive commoning


Hello,

> >3) For predictive commoning, it is essential that the life ranges of
> >   the temporary ssa names it creates do not start to overlap (since
> >   that would increase the number of registers that are necessary, and
> >   prevent us from coalescing the ssa names that correspond to one
> >   temporary, thus forcing us to insert moves between the temporary
> >   variables).  Unfortunately, even on the trivial examples the patch
> >   adds to the testsuite, the optimizers change the life ranges of the
> >   temporaries, thus spoiling the code.  To avoid this, we set
> >   SSA_NAME_OCCURS_IN_ABNORMAL_PHI for the temporary ssa names created
> >   by predictive commoning.
> 
> Maybe it's enough to treat *all* SSA names as if they occurred in an 
> abnormal PHI, after loop optimizations? 

why? That would prevent many cleanups (including copy propagation), so I do not
think this is a good idea unless you have some reasons for it.

> Which brings the question of 
> which scalar passes we really need after loop optimization.

Standard scalar cleanups are necessary, as the loop optimizers produce
quite a lot of garbage.

Zdenek


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