tree-vrp.c (assert_info): New struct.
authorRichard Biener <rguenther@suse.de>
Fri, 28 Apr 2017 06:42:20 +0000 (06:42 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 28 Apr 2017 06:42:20 +0000 (06:42 +0000)
commit119092c17a0c6e947f774692849dedb84acb53f2
tree763e1c086d4cd69cd4e3e9cd6d1df3e14215ead6
parente223180e6adefdfc8a19a74426d131157b62fcfa
tree-vrp.c (assert_info): New struct.

2017-04-28  Richard Biener  <rguenther@suse.de>

* tree-vrp.c (assert_info): New struct.
(add_assert_info): New helper.
(register_edge_assert_for_2): Refactor to add asserts to a vector
of assert_info.
(register_edge_assert_for_1): Likewise.
(register_edge_assert_for): Likewise.
(finish_register_edge_assert_for): New helper actually registering
asserts where live on edge.
(find_conditional_asserts): Adjust.
(find_switch_asserts): Likewise.
(evrp_dom_walker::try_find_new_range): Generalize.
(evrp_dom_walker::before_dom_children): Use register_edge_assert_for.

* gcc.dg/tree-ssa/evrp7.c: New testcase.
* gcc.dg/tree-ssa/evrp8.c: Likewise.
* gcc.dg/tree-ssa/evrp9.c: Likewise.
* gcc.dg/tree-ssa/vrp35.c: Disable EVRP.
* gcc.dg/tree-ssa/vrp36.c: Likewise.
* gcc.dg/tree-ssa/pr49039.c: Likewise.

From-SVN: r247362
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/evrp7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/evrp8.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/evrp9.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/pr49039.c
gcc/testsuite/gcc.dg/tree-ssa/vrp35.c
gcc/testsuite/gcc.dg/tree-ssa/vrp36.c
gcc/tree-vrp.c