re PR rtl-optimization/44404 (auto-inc-dec generates an invalid assembly instruction)

PR rtl-optimization/44404
	* auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
	possible, use reg_overlap_mentioned_p instead.

From-SVN: r161920
This commit is contained in:
Bernd Schmidt 2010-07-07 15:26:48 +00:00 committed by Bernd Schmidt
parent f625098e0c
commit 71df5a7ee7
2 changed files with 7 additions and 8 deletions

View file

@ -1,3 +1,9 @@
2010-07-07 Bernd Schmidt <bernds@codesourcery.com>
PR rtl-optimization/44404
* auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
possible, use reg_overlap_mentioned_p instead.
2010-07-07 Duncan Sands <baldrick@free.fr>
PR middle-end/41355

View file

@ -1068,14 +1068,7 @@ find_inc (bool first_try)
/* For the post_add to work, the result_reg of the inc must not be
used in the mem insn since this will become the new index
register. */
if (count_occurrences (PATTERN (mem_insn.insn), inc_insn.reg_res, 1) == 0
&& reg_overlap_mentioned_p (inc_insn.reg_res, PATTERN (mem_insn.insn)))
{
debug_rtx (mem_insn.insn);
debug_rtx (inc_insn.reg_res);
gcc_unreachable ();
}
if (count_occurrences (PATTERN (mem_insn.insn), inc_insn.reg_res, 1) != 0)
if (reg_overlap_mentioned_p (inc_insn.reg_res, PATTERN (mem_insn.insn)))
{
if (dump_file)
fprintf (dump_file, "base reg replacement failure.\n");