aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-09-15 13:21:49 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-09-15 13:21:49 -0400
commitf1636e8ad83096ea887edc73633367c329ca051a (patch)
tree1e3be6ea5fea01fe2b24c2b8a366495ef70129b9 /gcc
parentcf2f711352b94c880dc43f36ab4b58ab4bbf66c4 (diff)
downloadgcc-f1636e8ad83096ea887edc73633367c329ca051a.zip
gcc-f1636e8ad83096ea887edc73633367c329ca051a.tar.gz
gcc-f1636e8ad83096ea887edc73633367c329ca051a.tar.bz2
(cse_around_loop): Don't invalidate SUBREG unless it's a SUBREG of a
REG. From-SVN: r8085
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cse.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 5c9c6b0..44a4ab8 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7590,7 +7590,8 @@ cse_around_loop (loop_start)
for (p = last_jump_equiv_class->first_same_value; p;
p = p->next_same_value)
if (GET_CODE (p->exp) == MEM || GET_CODE (p->exp) == REG
- || GET_CODE (p->exp) == SUBREG)
+ || (GET_CODE (p->exp) == SUBREG
+ && GET_CODE (SUBREG_REG (p->exp)) == REG))
invalidate (p->exp);
else if (GET_CODE (p->exp) == STRICT_LOW_PART
|| GET_CODE (p->exp) == ZERO_EXTRACT)