aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
diff options
context:
space:
mode:
authorBernd Schmidt <bernd.schmidt@analog.com>2006-12-06 00:25:29 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2006-12-06 00:25:29 +0000
commit2372a0625790417f2ca021d3e5016554930900a4 (patch)
tree8f23a2d5a22c2df0faa8b10efd1d8f88584bf73b /gcc/rtlanal.c
parente80dc930bed449d1e2dcb0873013fb402c96da6b (diff)
downloadgcc-2372a0625790417f2ca021d3e5016554930900a4.zip
gcc-2372a0625790417f2ca021d3e5016554930900a4.tar.gz
gcc-2372a0625790417f2ca021d3e5016554930900a4.tar.bz2
reload1.c (delete_output_reload): Count occurrences in CALL_INSN_FUNCTION_USAGE.
* 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. From-SVN: r119571
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 6b96443..4b965f8 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;