PR debug/59992
* cselib.c (remove_useless_values): Skip to avoid quadratic
behavior if the condition moved from...
(cselib_process_insn): ... here holds.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208220 138bc75d-0d04-0410-961f-82ee72b054a4
PR debug/59992
* cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
(cselib_preserved_hash_table): New.
(preserve_constants_and_equivs): Move preserved vals to it.
(cselib_find_slot): Look it up first.
(cselib_init): Initialize it.
(cselib_finish): Release it.
(dump_cselib_table): Dump it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208221 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-28  Richard Biener  <rguenther@suse.de>

	PR target/60280
	* tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
	previous fix and only allow to remove trivial pre-headers
	and latches.  Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
	(remove_forwarder_block): Properly update the latch of
	a loop.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208222 138bc75d-0d04-0410-961f-82ee72b054a4