This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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.