[autovect] [patch] Make store motion use alias oracle

Revital1 Eres ERES@il.ibm.com
Wed Mar 14 08:28:00 GMT 2007



gcc-patches-owner@gcc.gnu.org wrote on 12/03/2007 20:46:03:

>
>
> > > Index: tree-if-conv.c
> > > ===================================================================
> > > --- tree-if-conv.c   (revision 122819)
> > > +++ tree-if-conv.c   (working copy)
> > > @@ -334,9 +334,42 @@
> > >    return true;
> > >  }
> > >
> > > +/* Return true if STMT may have certain side effects
> > > +   and thus ifcvt can not be applied.  Otherwise return false.  */
> > > +static bool
> > > +may_have_side_effect_p (tree stmt)
> > > +{
> > > +  tree lhs, rhs;
> > > +
> > > +  if (flag_unswitch_loops
> > > +      && TREE_CODE (stmt) == COND_EXPR)
> > > +    return false;
> >
> > this condition seems wrong (in ifcvt, you probably should never see
> > COND_EXPR here).
>
> I had doubts about that myself but I wanted to stay
> compatible with the original function.  I will test
> the patch without that condition.

Attached is the patch that fix the problem exposed in tree-if-conv.c as
was discussed previously.  It was bootstrap and tested on ppc together
with the lim patch.

OK for autovect?

Thanks,
Revital

(See attached file: ifcvt_fix_patch_14_3.txt)

2007-03-14  Revital Eres  <eres@il.ibm.com>

        * tree-if-conv.c (may_have_side_effect_p): New
          function to check if stmt is if-convertible.
          (if_convertible_gimple_modify_stmt_p): Call it.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ifcvt_fix_patch_14_3.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070314/e271405f/attachment.txt>


More information about the Gcc-patches mailing list