diff options
author | Andrew Pinski <pinskia@gmail.com> | 2007-01-01 13:58:19 -0800 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2007-01-01 13:58:19 -0800 |
commit | a441d616bac764a9281f72f04812ff9518a7e5ce (patch) | |
tree | cbad9e8ca49c7cbc6580372a73e4a91a61c54c7c /gcc/gimplify.c | |
parent | 95e2a53bfc973093444255c95bb79df8ff124f18 (diff) | |
download | gcc-a441d616bac764a9281f72f04812ff9518a7e5ce.tar.gz |
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
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r-- | gcc/gimplify.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 97745309e98..1a40e8fe214 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -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 |