[Bug tree-optimization/61009] [4.9 Regression] Incorrect jump threading in dom

2014-06-12 Thread law at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61009

--- Comment #18 from Jeffrey A. Law law at gcc dot gnu.org ---
Author: law
Date: Thu Jun 12 17:12:18 2014
New Revision: 211586

URL: http://gcc.gnu.org/viewcvs?rev=211586root=gccview=rev
Log:
PR tree-optimization/61009
* tree-ssa-threadedge.c (thread_through_normal_block): Correct return
value when we stop processing a block due to problematic PHIs.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-threadedge.c


[Bug tree-optimization/61009] [4.9 Regression] Incorrect jump threading in dom

2014-06-12 Thread law at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61009

--- Comment #19 from Jeffrey A. Law law at gcc dot gnu.org ---
Author: law
Date: Thu Jun 12 18:38:29 2014
New Revision: 211589

URL: http://gcc.gnu.org/viewcvs?rev=211589root=gccview=rev
Log:
PR tree-optimization/61009
* tree-ssa-threadedge.c (thread_through_normal_block): Correct return
value when we stop processing a block due to problematic PHIs.

Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/tree-ssa-threadedge.c


[Bug tree-optimization/61009] [4.9 Regression] Incorrect jump threading in dom

2014-05-13 Thread law at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61009

--- Comment #16 from Jeffrey A. Law law at gcc dot gnu.org ---
Author: law
Date: Tue May 13 20:26:51 2014
New Revision: 210400

URL: http://gcc.gnu.org/viewcvs?rev=210400root=gccview=rev
Log:
2014-05-08  Jeff Law  l...@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.

Added:
branches/gcc-4_9-branch/gcc/testsuite/g++.dg/tree-ssa/pr61009.C
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/tree-ssa-threadedge.c


[Bug tree-optimization/61009] [4.9 Regression] Incorrect jump threading in dom

2014-05-13 Thread law at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61009

Jeffrey A. Law law at redhat dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #17 from Jeffrey A. Law law at redhat dot com ---
Fix backported to branch.


[Bug tree-optimization/61009] [4.9 Regression] Incorrect jump threading in dom

2014-05-09 Thread tejohnson at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61009

--- Comment #12 from tejohnson at gcc dot gnu.org ---
Author: tejohnson
Date: Fri May  9 16:59:56 2014
New Revision: 210279

URL: http://gcc.gnu.org/viewcvs?rev=210279root=gccview=rev
Log:
Backport r210254 from trunk for Google b/14380607.

2014-05-08  Jeff Law  l...@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.

Added:
branches/google/gcc-4_9/gcc/testsuite/g++.dg/tree-ssa/pr61009.C
Modified:
branches/google/gcc-4_9/gcc/tree-ssa-threadedge.c


[Bug tree-optimization/61009] [4.9 Regression] Incorrect jump threading in dom

2014-05-09 Thread tejohnson at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61009

--- Comment #13 from Teresa Johnson tejohnson at google dot com ---
Jeff,

Thanks for the fix! Confirming that it does indeed fix the application
issues we hit.

Teresa

On Thu, May 8, 2014 at 9:54 PM, law at gcc dot gnu.org
gcc-bugzi...@gcc.gnu.org wrote:
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61009

 --- Comment #11 from Jeffrey A. Law law at gcc dot gnu.org ---
 Author: law
 Date: Fri May  9 04:54:00 2014
 New Revision: 210254

 URL: http://gcc.gnu.org/viewcvs?rev=210254root=gccview=rev
 Log:
 2014-05-08  Jeff Law  l...@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.

 Added:
 trunk/gcc/testsuite/g++.dg/tree-ssa/pr61009.C
 Modified:
 trunk/gcc/ChangeLog
 trunk/gcc/testsuite/ChangeLog
 trunk/gcc/tree-ssa-threadedge.c

 --
 You are receiving this mail because:
 You reported the bug.


[Bug tree-optimization/61009] [4.9 Regression] Incorrect jump threading in dom

2014-05-09 Thread ppluzhnikov at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61009

--- Comment #14 from Paul Pluzhnikov ppluzhnikov at google dot com ---
(In reply to Teresa Johnson from comment #13)

 Thanks for the fix!

Indeed.

 Confirming that it does indeed fix the application
 issues we hit.

I will add that we've had at least two separate miscompile instances due to
this bug, resulting in several thousand of our unit test failing.

Back-porting this to gcc-4_9-branch should be a relatively high priority.


[Bug tree-optimization/61009] [4.9 Regression] Incorrect jump threading in dom

2014-05-09 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61009

--- Comment #15 from Jeffrey A. Law law at redhat dot com ---
Paul, it is.  I'd be surprised if both threading fixes aren't in by Monday.