aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-06-17 13:29:11 +0000
committerJeff Law <law@gcc.gnu.org>1999-06-17 07:29:11 -0600
commit51f0646f8a46b03d0fd01c79daf82a9ae5a2fceb (patch)
tree399c423c555ce3ac267265c912e79063686f2837 /gcc/loop.c
parent048f60dcb1e7663c2fcd5e1d5f0aaad621e786c4 (diff)
downloadgcc-51f0646f8a46b03d0fd01c79daf82a9ae5a2fceb.zip
gcc-51f0646f8a46b03d0fd01c79daf82a9ae5a2fceb.tar.gz
gcc-51f0646f8a46b03d0fd01c79daf82a9ae5a2fceb.tar.bz2
loop.c (move_movables): Note issues with replacing REGs with SUBREGs.
� * loop.c (move_movables): Note issues with replacing REGs with SUBREGs. * mips.h (GO_IF_LEGITIMATE_ADDRESS): Handle SUBREGs properly. From-SVN: r27573
Diffstat (limited to 'gcc/loop.c')
-rw-r--r--gcc/loop.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index 6f0637f..dcddba6 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -2170,7 +2170,14 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
/* Schedule the reg loaded by M1
for replacement so that shares the reg of M.
If the modes differ (only possible in restricted
- circumstances, make a SUBREG. */
+ circumstances, make a SUBREG.
+
+ Note this assumes that the target dependent files
+ treat REG and SUBREG equally, including within
+ GO_IF_LEGITIMATE_ADDRESS and in all the
+ predicates since we never verify that replacing the
+ original register with a SUBREG results in a
+ recognizable insn. */
if (GET_MODE (m->set_dest) == GET_MODE (m1->set_dest))
reg_map[m1->regno] = m->set_dest;
else