diff options
author | Richard Henderson <rth@redhat.com> | 2004-06-07 10:53:03 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-06-07 10:53:03 -0700 |
commit | f5a76aea0ddbb87fe8b4f64a283951d7e687b84c (patch) | |
tree | ae09b8f6224714650658af6382e87de0bae03de0 /gcc/tree-ssa-copyrename.c | |
parent | 8cd0b81e9e372e8d7ff510d59e74e1a74616d773 (diff) | |
download | gcc-f5a76aea0ddbb87fe8b4f64a283951d7e687b84c.tar.gz |
gimple-low.c (struct lower_data): Add the_return_label and one_return_stmt.
* gimple-low.c (struct lower_data): Add the_return_label and
one_return_stmt.
(lower_function_body): Initialize and use them.
(lower_return_expr): New.
(lower_stmt): Call it.
* gimplify.c (gimplify_return_expr): Force the argument to be either
null or a result_decl.
* tree-gimple.c: Update gimple grammer to match.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Deny
coalescing of result_decls.
testsuite/
* gcc.dg/tree-ssa/20030728-1.c: Fixup return value to not match
if temporaries.
From-SVN: r82701
Diffstat (limited to 'gcc/tree-ssa-copyrename.c')
-rw-r--r-- | gcc/tree-ssa-copyrename.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree-ssa-copyrename.c b/gcc/tree-ssa-copyrename.c index dd698835f06..369c02fbd97 100644 --- a/gcc/tree-ssa-copyrename.c +++ b/gcc/tree-ssa-copyrename.c @@ -187,6 +187,13 @@ copy_rename_partition_coalesce (var_map map, tree var1, tree var2, FILE *debug) return; } + if ((TREE_CODE (root1) == RESULT_DECL) != (TREE_CODE (root2) == RESULT_DECL)) + { + if (debug) + fprintf (debug, " : One root a RESULT_DECL. No coalesce.\n"); + return; + } + gimp1 = is_gimple_tmp_var (root1); gimp2 = is_gimple_tmp_var (root2); |