From: Richard Stallman Date: Sat, 19 Sep 1992 04:46:22 +0000 (+0000) Subject: (assign_parms): Set MEM_IN_STRUCT_P right in stack slots. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7e41ffa25cd93e2ec0fdd2db4b1199c48870530a;p=gcc.git (assign_parms): Set MEM_IN_STRUCT_P right in stack slots. From-SVN: r2157 --- diff --git a/gcc/function.c b/gcc/function.c index 753931d67d9..dbc90043d7f 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -2859,8 +2859,14 @@ assign_parms (fndecl, second_time) if it becomes a problem. */ if (stack_parm == 0) - stack_parm - = assign_stack_local (GET_MODE (entry_parm), size_stored, 0); + { + stack_parm + = assign_stack_local (GET_MODE (entry_parm), size_stored, 0); + /* If this is a memory ref that contains aggregate components, + mark it as such for cse and loop optimize. */ + MEM_IN_STRUCT_P (stack_parm) = aggregate; + } + else if (PARM_BOUNDARY % BITS_PER_WORD != 0) abort (); @@ -2989,8 +2995,15 @@ assign_parms (fndecl, second_time) if (entry_parm != stack_parm) { if (stack_parm == 0) - stack_parm = assign_stack_local (GET_MODE (entry_parm), - GET_MODE_SIZE (GET_MODE (entry_parm)), 0); + { + stack_parm + = assign_stack_local (GET_MODE (entry_parm), + GET_MODE_SIZE (GET_MODE (entry_parm)), 0); + /* If this is a memory ref that contains aggregate components, + mark it as such for cse and loop optimize. */ + MEM_IN_STRUCT_P (stack_parm) = aggregate; + } + emit_move_insn (validize_mem (stack_parm), validize_mem (entry_parm)); }