mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-25 16:50:49 +08:00
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>
|
||||
|
||||
PR rtl-optimization/28071
|
||||
|
@ -1437,7 +1437,11 @@ cselib_process_insn (rtx insn)
|
||||
cselib_current_insn_in_libcall = false;
|
||||
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 ();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user