On Fri, 2020-05-08 at 13:06 -0300, Giuliano Belinassi via Gcc-patches wrote:
> Hi,
> 
> This patch Refactors tree-vrp.c to eliminate all global variables except
> 'x_vrp_values', which will require that 'thread_outgoing_edges' to
> accept an extra argument and pass it to the 'simplify' callback.
> 
> It also removes every access to 'cfun', retrieving the function being
> compiled from the pass engine.
> 
> Bootstrapped and ran the testsuite on Linux x86_64.
> 
> gcc/ChangeLog
> 2020-05-08  Giuliano Belinassi  <giuliano.belina...@usp.br>
> 
>       * tree-vrp.c (class liveness): New.
>       (insert_range_assertions): Move to class liveness.
>       (dump_all_asserts): Same as above.
>       (dump_asserts_for): Same as above.
>       (live): Same as above.
>       (need_assert_for): Same as above.
>       (live_on_edge): Same as above.
>       (finish_register_edge_assert_for): Same as above.
>       (find_switch_asserts): Same as above.
>       (find_assert_locations): Same as above.
>       (find_assert_locations_1): Same as above.
>       (find_conditional_asserts): Same as above.
>       (process_assert_insertions): Same as above.
>       (register_new_assert_for): Same as above.
>       (vrp_prop): New variable fun.
>       (vrp_initialize): New parameter.
>       (identify_jump_threads): Same as above.
>       (execute_vrp): Same as above.
Just a note.  While the old VRP implementation in tree-vrp.c is on the chopping
block, but it'll likely be the end of summer before we know if further work in
the new Ranger based implementation will be needed to totally replace tree-vrp
w/o introducing any performance regressions.

Thus, IMHO, we should go forward with the review.

Jeff



Reply via email to