aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/tree-tailcall.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7cbdf9a..4ddc85d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2007-09-04 Jan Hubicka <jh@suse.cz>
+ * tree-tailcall.c (eliminate_tail_call): Expect unrenamed return value.
+
+2007-09-04 Jan Hubicka <jh@suse.cz>
+
* invoke.texi (-finline-small-functions): Document.
* ipa-inline.c (cgraph_default_inline_p): Do not use DECL_INLINE
when deciding what is inlinable.
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index 8651b60..3e15b1b 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -800,7 +800,8 @@ eliminate_tail_call (struct tailcall *t)
/* Result of the call will no longer be defined. So adjust the
SSA_NAME_DEF_STMT accordingly. */
- SSA_NAME_DEF_STMT (rslt) = build_empty_stmt ();
+ if (TREE_CODE (rslt) == SSA_NAME)
+ SSA_NAME_DEF_STMT (rslt) = build_empty_stmt ();
}
bsi_remove (&t->call_bsi, true);