From: Andrew Pinski Date: Mon, 1 Jan 2007 21:58:19 +0000 (-0800) Subject: gimplify.c (gimplify_return_expr): Make the temporary variable for the return express... X-Git-Tag: releases/gcc-4.3.0~7771 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=a441d616bac764a9281f72f04812ff9518a7e5ce;p=gcc.git gimplify.c (gimplify_return_expr): Make the temporary variable for the return expression, a gimple register variable. 2007-01-01 Andrew Pinski * gimplify.c (gimplify_return_expr): Make the temporary variable for the return expression, a gimple register variable. From-SVN: r120317 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5671e0161cb7..69fe0892694f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-01-01 Andrew Pinski + + * gimplify.c (gimplify_return_expr): Make the temporary variable + for the return expression, a gimple register variable. + 2007-01-01 Jan Hubicka * emit-rtl.c (emit_copy_of_insn_after): Do not call copy_insn_1 for diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 97745309e98f..1a40e8fe2142 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 , Diego Novillo and Jason Merrill . @@ -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