gimplify.c (gimplify_return_expr): Make the temporary variable for the return expression, a gimple register variable.

2007-01-01  Andrew Pinski  <pinskia@gmail.com>

        * gimplify.c (gimplify_return_expr): Make the temporary variable
        for the return expression, a gimple register variable.

From-SVN: r120317
This commit is contained in:
Andrew Pinski 2007-01-01 13:58:19 -08:00 committed by Andrew Pinski
parent 95e2a53bfc
commit a441d616ba
2 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2007-01-01 Andrew Pinski <pinskia@gmail.com>
* gimplify.c (gimplify_return_expr): Make the temporary variable
for the return expression, a gimple register variable.
2007-01-01 Jan Hubicka <jh@suse.cz>
* emit-rtl.c (emit_copy_of_insn_after): Do not call copy_insn_1 for

View File

@ -1,6 +1,7 @@
/* Tree lowering pass. This pass converts the GENERIC functions-as-trees
tree representation into the GIMPLE form.
Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
Major work done by Sebastian Pop <s.pop@laposte.net>,
Diego Novillo <dnovillo@redhat.com> and Jason Merrill <jason@redhat.com>.
@ -1171,6 +1172,9 @@ gimplify_return_expr (tree stmt, tree *pre_p)
else
{
result = create_tmp_var (TREE_TYPE (result_decl), NULL);
if (TREE_CODE (TREE_TYPE (result)) == COMPLEX_TYPE
|| TREE_CODE (TREE_TYPE (result)) == VECTOR_TYPE)
DECL_GIMPLE_REG_P (result) = 1;
/* ??? With complex control flow (usually involving abnormal edges),
we can wind up warning about an uninitialized value for this. Due