summaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
diff options
context:
space:
mode:
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2006-12-06 00:25:29 +0000
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2006-12-06 00:25:29 +0000
commitac6a6c760194578f30436aa4963bd68d2ba83aab (patch)
tree8f23a2d5a22c2df0faa8b10efd1d8f88584bf73b /gcc/rtlanal.c
parent91a0a774d5c06813055286667f271bdea33aa379 (diff)
downloadgcc-ac6a6c760194578f30436aa4963bd68d2ba83aab.tar.gz
* reload1.c (delete_output_reload): Count occurrences in
CALL_INSN_FUNCTION_USAGE. * rtlanal.c (count_occurrences): Handle EXPR_LIST nodes without crashing at the end of the list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119571 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r--gcc/rtlanal.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 6b964430ef0..4b965f8ca1c 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -509,6 +509,12 @@ count_occurrences (rtx x, rtx find, int count_dest)
case CC0:
return 0;
+ case EXPR_LIST:
+ count = count_occurrences (XEXP (x, 0), find, count_dest);
+ if (XEXP (x, 1))
+ count += count_occurrences (XEXP (x, 1), find, count_dest);
+ return count;
+
case MEM:
if (MEM_P (find) && rtx_equal_p (x, find))
return 1;