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: Jakub Jelinek <jakub at redhat dot com>
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: Roger Sayle <roger at eyesopen dot com>, Andrew Pinski <pinskia at physics dot uc dot edu>, gcc-patches at gcc dot gnu dot org
- Date: Mon, 18 Sep 2006 16:41:53 -0400
- Subject: Re: [PATCH] Fix tree-opt/29059, ICE with the recent builtins improvements
- References: <Pine.LNX.4.44.0609181222500.20449-100000@www.eyesopen.com> <450EFA25.8000803@redhat.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Mon, Sep 18, 2006 at 03:57:25PM -0400, Diego Novillo wrote:
> >> Better get the builtin folders to return valid GIMPLE.
> >
> > I disagree. The ability for the middle-end to manipulate and reason
> > about arbitrarily deep trees (more than simple tuples) allows far more
> > expressive power than limiting things to the the atomic operations
> > allowed by GIMPLE.
> >
> Sure. Putting the extra gimplification in fold_stmt is fine with me as
> well.
Such regimplication is currently only done in execute_fold_all_builtins:
if (!set_rhs (stmtp, result))
{
result = convert_to_gimple_builtin (&i, result);
if (result)
{
bool ok = set_rhs (stmtp, result);
gcc_assert (ok);
}
}
Can fold_stmt replace one statement with a several statements, without
breaking most of the callers though?
Jakub