------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-06-07 
19:51 -------
Subject: Bug 21861

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     [EMAIL PROTECTED]       2005-06-07 19:51:26

Modified files:
        gcc            : ChangeLog Makefile.in tree-chrec.c tree-chrec.h 
                         tree-flow.h tree-scalar-evolution.c 
                         tree-ssa-loop-ivopts.c tree-ssa-loop-niter.c 
                         tree-vrp.c 
        gcc/testsuite/gcc.dg/vect: vect-77.c vect-78.c 

Log message:
        Fixes PR 18403 and meta PR 21861.
        * Makefile.in (tree-chrec.o): Depend on CFGLOOP_H and TREE_FLOW_H.
        * tree-chrec.c: Include cfgloop.h and tree-flow.h.
        (evolution_function_is_invariant_rec_p,
        evolution_function_is_invariant_p): New.
        (chrec_convert): Use an extra parameter AT_STMT for refining the
        information that is passed down to convert_step.  Integrate the
        code that was in count_ev_in_wider_type.
        * tree-chrec.h (count_ev_in_wider_type): Removed.
        (chrec_convert): Modify its declaration.
        (evolution_function_is_invariant_p): Declared.
        (evolution_function_is_affine_p): Use evolution_function_is_invariant_p.
        * tree-flow.h (can_count_iv_in_wider_type): Renamed convert_step.
        (scev_probably_wraps_p): Declared.
        * tree-scalar-evolution.c (count_ev_in_wider_type): Removed.
        (follow_ssa_edge_in_rhs, interpret_rhs_modify_expr):
        Use an extra parameter AT_STMT for refining the information that is
        passed down to convert_step.
        (follow_ssa_edge_inner_loop_phi, follow_ssa_edge,
        analyze_scalar_evolution_1): Initialize AT_STMT with the current
        analyzed statement.
        (instantiate_parameters_1): Don't know yet how to initialize AT_STMT.
        * tree-ssa-loop-ivopts.c (idx_find_step): Update the use of
        can_count_iv_in_wider_type to use convert_step.
        * tree-ssa-loop-niter.c (can_count_iv_in_wider_type_bound): Move
        code that is independent of the loop over the known iteration
        bounds to convert_step_widening, the rest is moved to
        proved_non_wrapping_p.
        (scev_probably_wraps_p): New.
        (can_count_iv_in_wider_type): Renamed convert_step.
        * tree-vrp.c (adjust_range_with_scev): Take an extra AT_STMT parameter.
        Use scev_probably_wraps_p for computing init_is_max.
        (vrp_visit_assignment): Pass the current analyzed statement to
        adjust_range_with_scev.
        (execute_vrp): Call estimate_numbers_of_iterations for refining the
        information provided by scev analyzer.
        
        testsuite:
        
        * testsuite/gcc.dg/vect/vect-77.c: Remove xfail from lp64.
        * testsuite/gcc.dg/vect/vect-78.c: Same.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9071&r2=2.9072
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&r1=1.1500&r2=1.1501
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-chrec.c.diff?cvsroot=gcc&r1=2.19&r2=2.20
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-chrec.h.diff?cvsroot=gcc&r1=2.8&r2=2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&r1=2.118&r2=2.119
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-scalar-evolution.c.diff?cvsroot=gcc&r1=2.27&r2=2.28
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-ivopts.c.diff?cvsroot=gcc&r1=2.76&r2=2.77
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-niter.c.diff?cvsroot=gcc&r1=2.28&r2=2.29
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vrp.c.diff?cvsroot=gcc&r1=2.23&r2=2.24
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/vect/vect-77.c.diff?cvsroot=gcc&r1=1.10&r2=1.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/vect/vect-78.c.diff?cvsroot=gcc&r1=1.11&r2=1.12



-- 


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

Reply via email to