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: [autovect] [patch] tree-ifcvt enhancements


Victor Kaplansky wrote:
> Implementation of some enhancements to tree-ifcvt
> 
> 
> 1. Allow loads not only in header but also in any dominator of exit_bb.
> 2. Allow stores not only in exit_bb but also in any dominator of exit_bb.
> 3. Allow speculative load motion.
> 4. Perform a store-motion pass before actual ifcvt pass:
> 
>       if (c)
>         *out = expr1;
>       else
>         *out = expr2;
> 
> will be converted into:
> 
>       if (c)
>         tmp1 = expr1;
>       else
>         tmp2 = expr2;
> 
>       # tmp3 = PHI <tmp1, tmp2>
>       *out = tmp3;

Uh, tree-if-conv is definitely not the right place to do this.
You should extend tree-ssa-sink.


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