[Bug middle-end/45098] Missed induction variable optimization

2011-07-11 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

vries at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
Version|4.6.0   |4.7.0
 Resolution||FIXED
   Target Milestone|--- |3.1.x/3.2.x

--- Comment #18 from vries at gcc dot gnu.org 2011-07-11 16:31:56 UTC ---
All ivopts improvements related to this example for -march=armv7-a -mthumb -Os
are committed to trunk. Regression test are in place. Closing bug.


[Bug middle-end/45098] Missed induction variable optimization

2011-06-16 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #16 from vries at gcc dot gnu.org 2011-06-16 17:57:12 UTC ---
Author: vries
Date: Thu Jun 16 17:57:08 2011
New Revision: 175105

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175105
Log:
2011-06-16  Tom de Vries  t...@codesourcery.com

PR target/45098
* tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): Disallow
NULL pointer for pointer arithmetic.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-niter.c


[Bug middle-end/45098] Missed induction variable optimization

2011-06-16 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #17 from vries at gcc dot gnu.org 2011-06-16 18:00:57 UTC ---
Author: vries
Date: Thu Jun 16 18:00:54 2011
New Revision: 175106

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175106
Log:
2011-06-16  Tom de Vries  t...@codesourcery.com

PR target/45098
* gcc.target/arm/ivopts-3.c: Update test.
* gcc.target/arm/ivopts-5.c: Same.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/arm/ivopts-3.c
trunk/gcc/testsuite/gcc.target/arm/ivopts-5.c


[Bug middle-end/45098] Missed induction variable optimization

2011-06-14 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #14 from vries at gcc dot gnu.org 2011-06-14 14:30:01 UTC ---
Author: vries
Date: Tue Jun 14 14:29:58 2011
New Revision: 175022

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175022
Log:
2011-06-14  Zdenek Dvorak  o...@ucw.cz
Tom de Vries  t...@codesourcery.com

PR target/45098
* cfgloop.h (nb_iterations_upper_bound, nb_iterations_estimate):
Document changed semantics.
(max_stmt_executions, max_stmt_executions_int): Declare.
* tree-data-ref.c (estimated_loop_iterations)
(estimated_loop_iterations_int): Move functions...
* tree-ssa-loop-niter.c (estimated_loop_iterations)
(estimated_loop_iterations_int): here.
(record_estimate): Change nb_iterations_upper_bound and
nb_iterations_estimate semantics.
(max_stmt_executions, max_stmt_executions_int): New function.
* tree-data-ref.c (estimated_loop_iterations_tree): Rename to ...
(max_stmt_executions_tree): this.
(analyze_miv_subscript): Use max_stmt_executions_tree instead of
estimated_loop_iterations_tree.
tree-ssa-loop-ivopts.c (avg_loop_niter): Use
max_stmt_executions_int instead of estimated_loop_iterations_int.
* predict.c (predict_loops): Idem.
* tree-parloops.c (parallelize_loops): Idem.
* tree-data-ref.c (analyze_siv_subscript_cst_affine)
(compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine)
(init_omega_for_ddr_1): Idem.
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse)
(loop_prefetch_arrays): Idem
* graphite-sese-to-poly.c (build_loop_iteration_domains): Use
max_stmt_executions instead of estimated_loop_iterations.
* tree-data-ref.c (estimated_loop_iterations_tree): Idem.
* tree-vrp.c (adjust_range_with_scev): Use estimated_loop_iterations
instead of nb_iterations_upper_bound.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgloop.h
trunk/gcc/graphite-sese-to-poly.c
trunk/gcc/predict.c
trunk/gcc/tree-data-ref.c
trunk/gcc/tree-parloops.c
trunk/gcc/tree-ssa-loop-ivopts.c
trunk/gcc/tree-ssa-loop-niter.c
trunk/gcc/tree-ssa-loop-prefetch.c
trunk/gcc/tree-vrp.c


[Bug middle-end/45098] Missed induction variable optimization

2011-06-14 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #15 from vries at gcc dot gnu.org 2011-06-14 15:05:29 UTC ---
Author: vries
Date: Tue Jun 14 15:05:26 2011
New Revision: 175025

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=175025
Log:
2011-06-14  Tom de Vries  t...@codesourcery.com

PR target/45098
* gcc.target/arm/ivopts-3.c: New test.
* gcc.target/arm/ivopts-4.c: New test.
* gcc.target/arm/ivopts-5.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/arm/ivopts-3.c
trunk/gcc/testsuite/gcc.target/arm/ivopts-4.c
trunk/gcc/testsuite/gcc.target/arm/ivopts-5.c
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/45098] Missed induction variable optimization

2011-06-04 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ramana at gcc dot gnu.org,
   ||vries at gcc dot gnu.org

--- Comment #12 from Ramana Radhakrishnan ramana at gcc dot gnu.org 
2011-06-04 08:20:52 UTC ---
Tom can this now be marked as being fixed for 4.7.0 ?

Ramana


[Bug middle-end/45098] Missed induction variable optimization

2011-06-04 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #13 from vries at gcc dot gnu.org 2011-06-04 08:42:29 UTC ---
 Tom can this now be marked as being fixed for 4.7.0 ?

I'm still discussing one patch with Zdenek. Latest gcc-patches mail on this is
http://gcc.gnu.org/ml/gcc-patches/2011-05/msg02384.html.


[Bug middle-end/45098] Missed induction variable optimization

2011-05-23 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #10 from vries at gcc dot gnu.org 2011-05-23 07:00:07 UTC ---
Author: vries
Date: Mon May 23 07:00:02 2011
New Revision: 174055

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174055
Log:
2011-05-23  Tom de Vries  t...@codesourcery.com

PR target/45098
* gcc.target/arm/ivopts-6.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/arm/ivopts-6.c
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/45098] Missed induction variable optimization

2011-05-23 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #11 from vries at gcc dot gnu.org 2011-05-23 07:28:03 UTC ---
Author: vries
Date: Mon May 23 07:27:59 2011
New Revision: 174056

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174056
Log:
2011-05-23  Tom de Vries  t...@codesourcery.com

PR target/45098
* tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): New
function.
(infer_loop_bounds_from_undefined): Use new function.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-niter.c


[Bug middle-end/45098] Missed induction variable optimization

2011-05-22 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #8 from vries at gcc dot gnu.org 2011-05-22 18:57:21 UTC ---
Author: vries
Date: Sun May 22 18:57:19 2011
New Revision: 174033

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174033
Log:
2011-05-22  Tom de Vries  t...@codesourcery.com

PR target/45098
* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fixed const test
for call to get_shiftadd_cost.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-ivopts.c


[Bug middle-end/45098] Missed induction variable optimization

2011-05-22 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #9 from vries at gcc dot gnu.org 2011-05-22 19:57:22 UTC ---
Author: vries
Revision: 174033
Modified property: svn:log

Modified: svn:log at Sun May 22 19:57:20 2011
--
--- svn:log (original)
+++ svn:log Sun May 22 19:57:20 2011
@@ -1,5 +1,5 @@
 2011-05-22  Tom de Vries  t...@codesourcery.com

 PR target/45098
-* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fixed const test
+* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fix const test
 for call to get_shiftadd_cost.


[Bug middle-end/45098] Missed induction variable optimization

2011-05-20 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #7 from vries at gcc dot gnu.org 2011-05-20 19:32:33 UTC ---
Author: vries
Date: Fri May 20 19:32:30 2011
New Revision: 173976

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=173976
Log:
2011-05-20  Tom de Vries  t...@codesourcery.com

PR target/45098
* tree-ssa-loop-ivopts.c: Include expmed.h.
(get_shiftadd_cost): New function.
(force_expr_to_var_cost): Declare forward.  Use get_shiftadd_cost.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-ivopts.c


[Bug middle-end/45098] Missed induction variable optimization

2011-05-19 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #4 from vries at gcc dot gnu.org 2011-05-19 08:49:32 UTC ---
Author: vries
Date: Thu May 19 08:49:28 2011
New Revision: 173893

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=173893
Log:
2011-05-19  Tom de Vries  t...@codesourcery.com

PR target/45098
* tree-ssa-loop-ivopts.c (determine_iv_cost): Prevent
cost_base.cost == 0.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-ivopts.c


[Bug middle-end/45098] Missed induction variable optimization

2011-05-19 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #5 from vries at gcc dot gnu.org 2011-05-19 09:03:15 UTC ---
Author: vries
Date: Thu May 19 09:03:12 2011
New Revision: 173894

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=173894
Log:
2011-05-19  Tom de Vries  t...@codesourcery.com

PR target/45098
* tree-ssa-loop-ivopts.c (get_expr_id): Factored new function out of
get_loop_invariant_expr_id.
(get_loop_invariant_expr_id): Use get_expr_id.
(parm_decl_cost): New function.
(determine_use_iv_cost_condition): Use get_expr_id and parm_decl_cost.
Improve bound cost estimation.  Use different inv_expr_id for elim and
express cases.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-ivopts.c


[Bug middle-end/45098] Missed induction variable optimization

2011-05-19 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #6 from vries at gcc dot gnu.org 2011-05-19 09:33:52 UTC ---
Author: vries
Date: Thu May 19 09:33:49 2011
New Revision: 173896

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=173896
Log:
2011-05-19  Tom de Vries  t...@codesourcery.com

PR target/45098
* gcc.target/arm/ivopts.c: New test.
* gcc.target/arm/ivopts-2.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/arm/ivopts-2.c
trunk/gcc/testsuite/gcc.target/arm/ivopts.c
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/45098] Missed induction variable optimization

2011-05-18 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #2 from vries at gcc dot gnu.org 2011-05-18 10:20:59 UTC ---
Author: vries
Date: Wed May 18 10:20:55 2011
New Revision: 173853

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=173853
Log:
2011-05-18  Tom de Vries  t...@codesourcery.com

PR target/45098
* tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-ivopts.c


[Bug middle-end/45098] Missed induction variable optimization

2011-05-18 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098

--- Comment #3 from vries at gcc dot gnu.org 2011-05-18 18:27:15 UTC ---
Author: vries
Date: Wed May 18 18:27:11 2011
New Revision: 173872

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=173872
Log:
2011-05-18  Tom de Vries  t...@codesourcery.com

PR target/45098
* tree-ssa-loop-ivopts.c (computation_cost): Prevent cost of 0.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-loop-ivopts.c


[Bug middle-end/45098] Missed induction variable optimization

2010-08-02 Thread ramana at gcc dot gnu dot org


-- 

ramana at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||missed-optimization
   Last reconfirmed|-00-00 00:00:00 |2010-08-02 07:55:00
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098



[Bug middle-end/45098] Missed induction variable optimization

2010-07-30 Thread davidxl at gcc dot gnu dot org


--- Comment #1 from davidxl at gcc dot gnu dot org  2010-07-30 17:23 ---
Seems -Os specific -- also reproducible on x86. With -O2, the result is
expected.

David


-- 

davidxl at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||davidxl at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45098