Refactor tree-vrp.c
authorGiuliano Belinassi <giuliano.belinassi@usp.br>
Wed, 13 May 2020 00:37:01 +0000 (21:37 -0300)
committerGiuliano Belinassi <giuliano.belinassi@usp.br>
Wed, 13 May 2020 00:37:01 +0000 (21:37 -0300)
commit9042fea9722a928de2c85e1c9462ab0d3380135a
treeaf5a367d8b3332a69f5dff61f3a0b606a3255909
parent0e6d007460f259baaab7a687f6b74211aecf4cc2
Refactor tree-vrp.c

Refactor 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.

gcc/ChangeLog
2020-05-12  Giuliano Belinassi  <giuliano.belinassi@usp.br>

* tree-vrp.c (class vrp_insert): New.
(insert_range_assertions): Move to class vrp_insert.
(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.
gcc/ChangeLog
gcc/tree-vrp.c