On 08/03/2016 10:35 AM, Bin Cheng wrote:
Hi,
When I introduced parameter STOP for expand_simple_operations, I also added it 
for simplify_using_initial_conditions.  The STOP argument is also passed to 
simplify_using_initial_conditions in 
simple_iv_with_niters/loop_exits_before_overflow.  After analyzing case 
reported by PR72772, I think STOP expanding is only needed for 
expand_simple_operations when handling IV.step in tree-ssa-loop-ivopts.c.  For 
other cases like calls to simplify_using_initial_condition, both cond and expr 
should be expanded to check tree expression equality.  This patch does so.  It 
simplifies interface by removing parameter STOP, also moves 
expand_simple_operations from tree_simplify_using_condition_1 to its caller.

Bootstrap and test on x86_64 and AArch64.  Is it OK?

Thanks,
bin

2016-08-02  Bin Cheng  <bin.ch...@arm.com>

        PR tree-optimization/72772
        * tree-ssa-loop-niter.h (simplify_using_initial_conditions): Delete
        parameter STOP.
        * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Delete
        parameter STOP and update calls.  Move expand_simple_operations
        function call from here...
        (simplify_using_initial_conditions): ...to here.  Delete parameter
        STOP.
        (tree_simplify_using_condition): Delete parameter STOP.
        * tree-scalar-evolution.c (simple_iv_with_niters): Update call to
        simplify_using_initial_conditions.

OK.
jeff

Reply via email to