This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tuples][patch] Fixing a bug in tree-complex.c
Committed with those changes.
On Thu, Mar 20, 2008 at 1:46 PM, Diego Novillo <dnovillo@google.com> wrote:
> On Thu, Mar 20, 2008 at 16:37, Oleg Ryjkov <olegr@google.com> wrote:
>
> > * tree-complex.c (init_dont_simulate_again, complex_visit_stmt,
> > update_complex_components, expand_complex_operations_1): Consider
> > GIMPLE_CALLs with a lhs, not only GIMPLE_ASSIGNs.
> > * gimplify.c (get_tmp_var_for): Removed.
> > (gimplify_call_expr): Remove call to get_tmp_var_for, set
> > gimple_register on a new lhs in some cases.
>
> OK with:
>
> > if (TREE_CODE (type) == COMPLEX_TYPE)
> > expand_complex_move (gsi, type);
> >+ /* Only GIMLE_ASSIGN will have gimple_subcode set. */
>
> s/GIMLE_ASSIGN/GIMPLE_ASSIGN/
>
>
> >@@ -2385,8 +2363,15 @@ gimplify_call_expr (tree *expr_p, gimple
> > gimplify_seq_add_stmt (pre_p, call);
> > if (want_value)
> > {
> >- tree lhs = get_tmp_var_for (call);
> >+ /* FIXME tuples: we want to use internal_get_tmp_var. */
> >+ tree lhs = create_tmp_var (gimple_call_return_type (call),
> >+ get_name (gimple_call_fn (call)));
>
> Add to the comment that we want to use internal_get_tmp_var but can't
> because it wants a value that it gimplifies and the new call is not a
> tree expression. internal_get_tmp_var needs to be rewritten to
> support this and still use the formal temporary table.
>
>
> Thanks. Diego.
>