summaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-18 13:30:26 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-18 13:30:26 +0000
commitcbf0978f8cf62ded8ff74384a864139363360d56 (patch)
tree21c51b33678116c47f2fe65f90088c9db4c844ec /gcc/rtlanal.c
parent3647950da6a1b3a9e1653a33fd4b289928610be3 (diff)
downloadgcc-cbf0978f8cf62ded8ff74384a864139363360d56.tar.gz
* rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
and SIGN_EXTRACT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65782 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r--gcc/rtlanal.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 3b024adc89d..80fff6310bf 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -1573,7 +1573,9 @@ reg_overlap_mentioned_p (x, in)
unsigned int regno, endregno;
/* Overly conservative. */
- if (GET_CODE (x) == STRICT_LOW_PART)
+ if (GET_CODE (x) == STRICT_LOW_PART
+ || GET_CODE (x) == ZERO_EXTRACT
+ || GET_CODE (x) == SIGN_EXTRACT)
x = XEXP (x, 0);
/* If either argument is a constant, then modifying X can not affect IN. */