summaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r--gcc/rtlanal.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index fb4f87c07de..52ff6a90c64 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -410,6 +410,11 @@ reg_referenced_p (x, body)
case UNSPEC:
case UNSPEC_VOLATILE:
+ for (i = XVECLEN (body, 0) - 1; i >= 0; i--)
+ if (reg_overlap_mentioned_p (x, XVECEXP (body, 0, i)))
+ return 1;
+ return 0;
+
case PARALLEL:
for (i = XVECLEN (body, 0) - 1; i >= 0; i--)
if (reg_referenced_p (x, XVECEXP (body, 0, i)))