re PR middle-end/28071 (A file that can not be compiled in reasonable time/space)
PR rtl-optimization/28071 * cselib.c (cselib_process_insn): Don't remove useless values too often for very large hashtables. From-SVN: r115777
This commit is contained in:
parent
69bfd3c9ba
commit
96d0cc8186
|
@ -1,3 +1,9 @@
|
||||||
|
2006-07-27 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
|
PR rtl-optimization/28071
|
||||||
|
* cselib.c (cselib_process_insn): Don't remove useless values too
|
||||||
|
often for very large hashtables.
|
||||||
|
|
||||||
2006-07-27 Jan Hubicka <jh@suse.cz>
|
2006-07-27 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
PR rtl-optimization/28071
|
PR rtl-optimization/28071
|
||||||
|
|
|
@ -1437,7 +1437,11 @@ cselib_process_insn (rtx insn)
|
||||||
cselib_current_insn_in_libcall = false;
|
cselib_current_insn_in_libcall = false;
|
||||||
cselib_current_insn = 0;
|
cselib_current_insn = 0;
|
||||||
|
|
||||||
if (n_useless_values > MAX_USELESS_VALUES)
|
if (n_useless_values > MAX_USELESS_VALUES
|
||||||
|
/* remove_useless_values is linear in the hash table size. Avoid
|
||||||
|
quadratic behaviour for very large hashtables with very few
|
||||||
|
useless elements. */
|
||||||
|
&& (unsigned int)n_useless_values > cselib_hash_table->n_elements / 4)
|
||||||
remove_useless_values ();
|
remove_useless_values ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue