aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>1997-03-18 20:00:01 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>1997-03-18 20:00:01 +0000
commit38b610ed8e01c374874a3f37437b8a7fe3f060b0 (patch)
tree6f5aae4831fdc2fbb7baf3c2fd94dd6de5728bb5 /gcc
parent63d93f7c1c154c0308e42bdd242d7434a4458e7c (diff)
downloadgcc-38b610ed8e01c374874a3f37437b8a7fe3f060b0.zip
gcc-38b610ed8e01c374874a3f37437b8a7fe3f060b0.tar.gz
gcc-38b610ed8e01c374874a3f37437b8a7fe3f060b0.tar.bz2
Add a REG_EQUIV note when a register parameter has a stack location
From-SVN: r13734
Diffstat (limited to 'gcc')
-rw-r--r--gcc/function.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/function.c b/gcc/function.c
index e38c614..b3c45b9 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -3957,11 +3957,11 @@ assign_parms (fndecl, second_time)
as we make here would screw up life analysis for it. */
if (nominal_mode == passed_mode
&& ! did_conversion
- && GET_CODE (entry_parm) == MEM
- && entry_parm == stack_parm
+ && stack_parm != 0
+ && GET_CODE (stack_parm) == MEM
&& stack_offset.var == 0
&& reg_mentioned_p (virtual_incoming_args_rtx,
- XEXP (entry_parm, 0)))
+ XEXP (stack_parm, 0)))
{
rtx linsn = get_last_insn ();
rtx sinsn, set;
@@ -3991,7 +3991,7 @@ assign_parms (fndecl, second_time)
&& SET_DEST (set) == parmreg)
REG_NOTES (linsn)
= gen_rtx (EXPR_LIST, REG_EQUIV,
- entry_parm, REG_NOTES (linsn));
+ stack_parm, REG_NOTES (linsn));
}
/* For pointer data type, suggest pointer register. */