diff options
author | DJ Delorie <dj@gcc.gnu.org> | 2006-01-16 19:58:06 -0500 |
---|---|---|
committer | DJ Delorie <dj@gcc.gnu.org> | 2006-01-16 19:58:06 -0500 |
commit | 838f78d63b20aaf9078bf5afe2e94054fcd180f7 (patch) | |
tree | 653d54d6cce1237b0ddb2eab1bc74bc7a583bdfe /gcc/reload.c | |
parent | 2d6ae5d626e4362718b2ccc0a3e86184721cecf2 (diff) | |
download | gcc-838f78d63b20aaf9078bf5afe2e94054fcd180f7.zip gcc-838f78d63b20aaf9078bf5afe2e94054fcd180f7.tar.gz gcc-838f78d63b20aaf9078bf5afe2e94054fcd180f7.tar.bz2 |
reload.c (reg_overlap_mentioned_for_reload_p): Handle subregs of mems.
* reload.c (reg_overlap_mentioned_for_reload_p): Handle subregs of
mems.
From-SVN: r109792
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 2b61a8e..92ad085 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -6329,6 +6329,8 @@ reg_overlap_mentioned_for_reload_p (rtx x, rtx in) /* If either argument is a constant, then modifying X can not affect IN. */ if (CONSTANT_P (x) || CONSTANT_P (in)) return 0; + else if (GET_CODE (x) == SUBREG && GET_CODE (SUBREG_REG (x)) == MEM) + return refers_to_mem_for_reload_p (in); else if (GET_CODE (x) == SUBREG) { regno = REGNO (SUBREG_REG (x)); |