diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-07 17:53:03 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-07 17:53:03 +0000 |
commit | 22e30d4e88b409c985b8ab88a5c51cda27c47e0b (patch) | |
tree | ae09b8f6224714650658af6382e87de0bae03de0 /gcc/tree-ssa-copyrename.c | |
parent | d201fb451bc3fb576a48800121e49a1930b5a5e4 (diff) | |
download | gcc-22e30d4e88b409c985b8ab88a5c51cda27c47e0b.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82701 138bc75d-0d04-0410-961f-82ee72b054a4
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); |