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: [RFC] [autovect patch] Implement vectorization hints


Hello,

> >I will start working on that; as a first step, I will try to get
> >loop-aware cfg cleanup merged, rest of the tree loop optimization 
> >passes
> >should not be too problematic hopefully.
> 
> With your patch to make cfg cleanup loop aware,
>     http://gcc.gnu.org/ml/gcc-patches/2005-03/msg00244.html
> 
> I tried to initialize loop structure as early as possible, so I put it
> immediately after build_ssa. Jump threading immediately ran into 
> problems
> when loop header block is threaded. For example,

I did not say it will work immediatelly.  Jump threading must be either
prevented from changing loops (which is not a good idea, definitely), or
update the loop structures (preferably).  As you note, the forwarder
blocks created by loop are a bit problematic (loops with multiple
latches in particular), but is should not be that hard to persuade dom
to create these forwarder blocks if necessary (it will also prevent
weird loop structures that dom + code to split loops with multiple
latches often create, which by itself is a good improvement).

The other code that will need changes is of course tail recursion
elimination that needs to create the loop. Also CDDCE will need some
handling.  Maybe also other passes, I don't know.  It definitely is
not a one day project, I am not even sure it has a chance to be
ready soon enough for 4.1.

Zdenek


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