From 852d22b41a1467860f59d3aa900a8b9a96ed8be7 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 10 Nov 2008 16:52:50 +0000 Subject: calls.c (store_unaligned_arguments_into_pseudos): Deal only with values living in memory and use more precise alignment information. * calls.c (store_unaligned_arguments_into_pseudos): Deal only with values living in memory and use more precise alignment information. From-SVN: r141742 --- gcc/calls.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gcc/calls.c') diff --git a/gcc/calls.c b/gcc/calls.c index a3d35b3..096dde4 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -837,7 +837,8 @@ store_unaligned_arguments_into_pseudos (struct arg_data *args, int num_actuals) for (i = 0; i < num_actuals; i++) if (args[i].reg != 0 && ! args[i].pass_on_stack && args[i].mode == BLKmode - && (TYPE_ALIGN (TREE_TYPE (args[i].tree_value)) + && MEM_P (args[i].value) + && (MEM_ALIGN (args[i].value) < (unsigned int) MIN (BIGGEST_ALIGNMENT, BITS_PER_WORD))) { int bytes = int_size_in_bytes (TREE_TYPE (args[i].tree_value)); -- cgit v1.1