diff options
author | Mark Mitchell <mark@markmitchell.com> | 1998-09-30 10:10:02 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 1998-09-30 10:10:02 +0000 |
commit | 95ca22f405ab053a5275610e22b869f595c8e68b (patch) | |
tree | 013f50ee70583c8416e79aa57fe911e240371d76 /gcc/function.c | |
parent | ee06cc21bf611f5e1fa1bc72ec901ac1d75ed62d (diff) | |
download | gcc-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.c | 4 |
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); |