Backport r210254 from trunk for Google b/14380607.
commit713df21b4950e9f1b6ff0db9734c3965c96ad917
authortejohnson <tejohnson@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 May 2014 16:59:56 +0000 (9 16:59 +0000)
committertejohnson <tejohnson@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 May 2014 16:59:56 +0000 (9 16:59 +0000)
tree6322b0e885364546a6b9a212b85fc93c45832a04
parentfb0e446b6cf07326c21234115969d7ce63315a07
Backport r210254 from trunk for Google b/14380607.

2014-05-08  Jeff Law  <law@redhat.com>

PR tree-optimization/61009
* tree-ssa-threadedge.c (thread_through_normal_block): Return a
tri-state rather than a boolean.  When a block is too big to
thread through, inform caller via negative return value.
(thread_across_edge): If a block was too big for normal threading,
then it's too big for a joiner too, so remove temporary equivalences
and return immediately.

PR tree-optimization/61009
* g++.dg/tree-ssa/pr61009.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/google@210279 138bc75d-0d04-0410-961f-82ee72b054a4
gcc-4_9/gcc/testsuite/g++.dg/tree-ssa/pr61009.C [new file with mode: 0644]
gcc-4_9/gcc/tree-ssa-threadedge.c