aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@markmitchell.com>1998-09-30 10:10:02 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1998-09-30 10:10:02 +0000
commit95ca22f405ab053a5275610e22b869f595c8e68b (patch)
tree013f50ee70583c8416e79aa57fe911e240371d76 /gcc/function.c
parentee06cc21bf611f5e1fa1bc72ec901ac1d75ed62d (diff)
downloadgcc-95ca22f405ab053a5275610e22b869f595c8e68b.zip
gcc-95ca22f405ab053a5275610e22b869f595c8e68b.tar.gz
gcc-95ca22f405ab053a5275610e22b869f595c8e68b.tar.bz2
function.c (gen_mem_addressof): If the address REG is REG_USERVAR_P make the new REG be so also.
* function.c (gen_mem_addressof): If the address REG is REG_USERVAR_P make the new REG be so also. * loop.c (scan_loop): Apply DeMorgan's laws and add documentation in an attempt to clarify slightly. From-SVN: r22667
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 99163e6..54407fd 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -2756,9 +2756,11 @@ gen_mem_addressof (reg, decl)
tree decl;
{
tree type = TREE_TYPE (decl);
-
rtx r = gen_rtx_ADDRESSOF (Pmode, gen_reg_rtx (GET_MODE (reg)), REGNO (reg));
SET_ADDRESSOF_DECL (r, decl);
+ /* If the original REG was a user-variable, then so is the REG whose
+ address is being taken. */
+ REG_USERVAR_P (XEXP (r, 0)) = REG_USERVAR_P (reg);
XEXP (reg, 0) = r;
PUT_CODE (reg, MEM);