summaryrefslogtreecommitdiff
path: root/gcc/reload1.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/reload1.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/reload1.c')
-rw-r--r--gcc/reload1.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 88b89feb8ff..fdab86cff87 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -7972,6 +7972,9 @@ delete_output_reload (rtx insn, int j, int last_reload_reg)
}
}
n_occurrences = count_occurrences (PATTERN (insn), reg, 0);
+ if (CALL_P (insn) && CALL_INSN_FUNCTION_USAGE (insn))
+ n_occurrences += count_occurrences (CALL_INSN_FUNCTION_USAGE (insn),
+ reg, 0);
if (substed)
n_occurrences += count_occurrences (PATTERN (insn),
eliminate_regs (substed, 0,