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] Make store motion use alias oracle



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.

Attachment: ifcvt_fix_patch_14_3.txt
Description: Text document


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