diff options
author | Richard Stallman <rms@gnu.org> | 1993-09-05 20:01:32 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-09-05 20:01:32 +0000 |
commit | cb61f66f5bc01f6728773ac38dbb36f5110a53d4 (patch) | |
tree | 3fbf42eb9cd004b4106ef3b5a0d733fa56afa3b7 | |
parent | 76229ac8db9be933046d0cb365a727bf449b13b3 (diff) | |
download | gcc-cb61f66f5bc01f6728773ac38dbb36f5110a53d4.zip gcc-cb61f66f5bc01f6728773ac38dbb36f5110a53d4.tar.gz gcc-cb61f66f5bc01f6728773ac38dbb36f5110a53d4.tar.bz2 |
(assign_parms): When parm needs conversion on entry,
don't store it back in the slot where it was passed.
From-SVN: r5261
-rw-r--r-- | gcc/function.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c index 4a0425a..f58b472 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -3145,6 +3145,13 @@ assign_parms (fndecl, second_time) stack_parm = 0; } + /* If parm was passed in memory, and we need to convert it on entry, + don't store it back in that same slot. */ + if (entry_parm != 0 + && nominal_mode != BLKmode && nominal_mode != passed_mode) + stack_parm = 0; + +#if 0 /* Now adjust STACK_PARM to the mode and precise location where this parameter should live during execution, if we discover that it must live in the stack during execution. @@ -3174,6 +3181,7 @@ assign_parms (fndecl, second_time) mark it as such for cse and loop optimize. */ MEM_IN_STRUCT_P (stack_parm) = aggregate; } +#endif /* 0 */ /* ENTRY_PARM is an RTX for the parameter as it arrives, in the mode in which it arrives. |