This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix tree-opt/29059, ICE with the recent builtins improvements
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: dnovillo at redhat dot com (Diego Novillo)
- Cc: roger at eyesopen dot com (Roger Sayle), pinskia at physics dot uc dot edu (Andrew Pinski), gcc-patches at gcc dot gnu dot org
- Date: Mon, 18 Sep 2006 15:22:10 -0400 (EDT)
- Subject: Re: [PATCH] Fix tree-opt/29059, ICE with the recent builtins improvements
>
> Roger Sayle wrote on 09/16/06 13:13:
> > Hi Andrew,
> >
> > On Thu, 14 Sep 2006, Andrew Pinski wrote:
> >> * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
> >> away for the expr argument.
> >>
> >> * gcc.c-torture/compile/strcpy-1.c: New test.
> >> * gcc.c-torture/compile/strcpy-2.c: New test.
> >> * gcc.c-torture/compile/memcpy-1.c: New test.
> >> * gcc.c-torture/compile/memcpy-2.c: New test.
> >
> > This is OK for mainline. Thanks.
> >
> Not OK.
>
> Add a check for !is_gimple_val. You are pessimizing unnecessarily.
> It's perfectly alright to replace a builtin call with a MODIFY_EXPR, if
> the RHS of the MODIFY_EXPR is a gimple_val.
Not really that much as fold all builtins will later come along and re-gimplify
the folded expression. Also the builtin folders were just not producing these
expressions before and now are producing complex expressions which are hard to
express as one simple GIMPLEX epxression.
> Better get the builtin folders to return valid GIMPLE.
Except the problem is the builtin folder is producing complex expressions which
can not be expressed as a simple GIMPLE expression.
-- Pinski