This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog.lno Makefile.in cfgloop.h df ...
- From: rakdver at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 30 Apr 2004 23:38:51 -0000
- Subject: gcc/gcc ChangeLog.lno Makefile.in cfgloop.h df ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: lno-branch
Changes by: rakdver@gcc.gnu.org 2004-04-30 23:38:51
Modified files:
gcc : ChangeLog.lno Makefile.in cfgloop.h df.c
loop-invariant.c tree-chrec.c tree-chrec.h
tree-flow.h tree-scalar-evolution.c
tree-scalar-evolution.h tree-ssa-loop-ivcanon.c
tree-ssa-loop-ivopts.c varasm.c
gcc/config/rs6000: rs6000.c
Added files:
gcc : tree-ssa-loop-niter.c
Log message:
* tree-ssa-loop-niter.c: New file.
* Makefile.in (tree-ssa-loop-niter.o): New.
* cfgloop.h (struct loop): Add bounds field.
* df.c (df_reg_clobber_gen): Removed.
(df_bb_rd_local_compute, df_insn_refs_record, df_rd_local_compute):
Make more effective for hard regs.
* loop-invariant.c (check_maybe_invariant, find_defs,
find_invariant_insn): Handle hard regs.
* tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_multiply,
chrec_fold_multiply, chrec_merge): Handle types correctly.
(chrec_convert): Use count_ev_in_wider_type.
* tree-chrec.h (count_ev_in_wider_type): Declare.
* tree-flow.h (struct tree_niter_desc): Moved from
tree-ssa-loop-ivopts.c.
(number_of_iterations_cond, number_of_iterations_exit,
loop_niter_by_eval, find_loop_niter_by_eval,
estimate_numbers_of_iterations, can_count_iv_in_wider_type,
free_numbers_of_iterations_estimates): Declare.
* tree-scalar-evolution.c (count_ev_in_wider_type, scev_reset,
simple_iv): New.
(number_of_iterations_in_loop): Check that the exit condition
is tested in every iteration.
* tree-scalar-evolution.h (scev_reset, simple_iv): Declare.
* tree-ssa-loop-ivcanon.c (MAX_ITERATIONS_TO_TRACK,
chain_of_csts_start, get_base_for, get_val_for,
loop_niter_by_eval, find_loop_niter_by_eval): Moved to
tree-ssa-loop-niter.c.
* tree-ssa-loop-ivopts.c (struct tree_niter_desc): Moved to
tree-flow.h.
(force_gimple_operand): Accept a variable for the target of
the assignment.
(create_iv, rewrite_use_nonlinear_expr,
rewrite_use_address, rewrite_use_compare,
rewrite_use_outer): Changed due to this.
(tree_ssa_iv_optimize_init): Call estimate_numbers_of_iterations.
(get_var_def): Removed.
(find_givs_in_stmt_scev): Use simple_iv.
(inverse, number_of_iterations_cond): Moved to tree-ssa-loop-niter.c.
(determine_number_of_iterations): Use number_of_iterations_exit.
(idx_find_step, find_interesting_uses_address): Use
can_count_iv_in_wider_type.
(force_var_cost): Determine the costs more precisely.
(tree_ssa_iv_optimize_finalize): Call
free_numbers_of_iterations_estimates.
(tree_ssa_iv_optimize_loop): Call scev_reset.
* varasm.c (force_const_mem): Set MEM_NOTRAP_P flag.
* config/rs6000/rs6000.c (rs6000_emit_move): Set MEM_NOTRAP_P flag.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-niter.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.lno.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.150&r2=1.1.2.151
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.903.2.158.2.26&r2=1.903.2.158.2.27
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgloop.h.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.2.4.9.2.13&r2=1.2.4.9.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/df.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.32.2.12.4.6&r2=1.32.2.12.4.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-invariant.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.4.7&r2=1.1.4.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-chrec.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.19&r2=1.1.2.20
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-chrec.h.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.15&r2=1.1.2.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.4.177.2.25&r2=1.1.4.177.2.26
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-scalar-evolution.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.43&r2=1.1.2.44
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-scalar-evolution.h.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.10&r2=1.1.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-ivcanon.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.7&r2=1.1.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-ivopts.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.1.2.31&r2=1.1.2.32
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/varasm.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.295.2.40.2.4&r2=1.295.2.40.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.c.diff?cvsroot=gcc&only_with_tag=lno-branch&r1=1.332.2.36.2.6&r2=1.332.2.36.2.7