summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authormatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-01 21:53:15 +0000
committermatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-01 21:53:15 +0000
commitd623024355aedd5e336af29dfd89af8f4c10051b (patch)
tree5745c76598a4ece9daf0c8fe5e7c1cc8932735f8 /gcc
parent5863771b360240b323dcbfb53830b8de4de528a6 (diff)
downloadgcc-d623024355aedd5e336af29dfd89af8f4c10051b.tar.gz
* calls.c (initialize_argument_information): Handle SSA names
like decls with a non MEM_P DECL_RTL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147044 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/calls.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0091874ee4e..959f62ac5d4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-05-01 Michael Matz <matz@suse.de>
+
+ * calls.c (initialize_argument_information): Handle SSA names like
+ decls with a non MEM_P DECL_RTL.
+
2009-05-01 Steven Bosscher <steven@gcc.gnu.org>
* ipa-reference.c: Do not include c-common.h, include splay-tree.h.
diff --git a/gcc/calls.c b/gcc/calls.c
index c05c2880c7c..219b1d3afa6 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1054,6 +1054,7 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
|| (callee_copies
&& !TREE_ADDRESSABLE (type)
&& (base = get_base_address (args[i].tree_value))
+ && TREE_CODE (base) != SSA_NAME
&& (!DECL_P (base) || MEM_P (DECL_RTL (base)))))
{
/* We can't use sibcalls if a callee-copied argument is