This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/66652] try_transform_to_exit_first_loop_alt generates incorrect loop
- From: "vries at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 30 Jun 2015 09:57:52 +0000
- Subject: [Bug tree-optimization/66652] try_transform_to_exit_first_loop_alt generates incorrect loop
- Auto-submitted: auto-generated
- References: <bug-66652-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66652
--- Comment #7 from vries at gcc dot gnu.org ---
Author: vries
Date: Tue Jun 30 09:57:20 2015
New Revision: 225166
URL: https://gcc.gnu.org/viewcvs?rev=225166&root=gcc&view=rev
Log:
Backport transform_to_exit_first_loop_alt-related patches
2015-06-30 Tom de Vries <tom@codesourcery.com>
backport from trunk:
2015-06-30 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/66652
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
max_loop_iterations to determine if nit + 1 overflows.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
using restrict pointers.
(main): Add arguments to calls to f.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: New test.
* gcc.dg/parloops-exit-first-loop-alt-3.c (f): Rewrite using restrict
pointers.
* gcc.dg/parloops-exit-first-loop-alt.c: Same.
2015-06-29 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
function structure.
2015-06-23 Tom de Vries <tom@codesourcery.com>
* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
abort.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
2015-06-22 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
for cond_stmt.
2015-06-13 Tom de Vries <tom@codesourcery.com>
* gcc.dg/parloops-exit-first-loop-alt-4.c: New test.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
(N): Define.
(main): Use N instead of hardcoded constants.
* gcc.dg/parloops-exit-first-loop-alt-2.c: Add comment.
(main): Remove superfluous attributes.
* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/parloops-exit-first-loop-alt.c: Same.
Added:
branches/gomp-4_0-branch/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-4.c
- copied, changed from r225165,
branches/gomp-4_0-branch/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-3.c
branches/gomp-4_0-branch/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-pr66652.c
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c
- copied, changed from r225165,
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c
Modified:
branches/gomp-4_0-branch/gcc/ChangeLog.gomp
branches/gomp-4_0-branch/gcc/testsuite/ChangeLog.gomp
branches/gomp-4_0-branch/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-2.c
branches/gomp-4_0-branch/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt-3.c
branches/gomp-4_0-branch/gcc/testsuite/gcc.dg/parloops-exit-first-loop-alt.c
branches/gomp-4_0-branch/gcc/tree-parloops.c
branches/gomp-4_0-branch/libgomp/ChangeLog.gomp
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt.c