Commit 96d0cc81 by Jan Hubicka Committed by Jan Hubicka

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
parent 69bfd3c9
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
* global.c (greg_obstack): New obstack.
(allocate_bb_info): Use it.
(free_bb_info): Likewise.
......
......@@ -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 ();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment