diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 1997-03-18 20:00:01 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 1997-03-18 20:00:01 +0000 |
commit | 38b610ed8e01c374874a3f37437b8a7fe3f060b0 (patch) | |
tree | 6f5aae4831fdc2fbb7baf3c2fd94dd6de5728bb5 /gcc | |
parent | 63d93f7c1c154c0308e42bdd242d7434a4458e7c (diff) | |
download | gcc-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.c | 8 |
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. */ |