2017-04-28 Richard Biener <rguenther@suse.de>
commit06984b14eb834259b37e4c6083ed909bfe121741
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Apr 2017 06:42:20 +0000 (28 06:42 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Apr 2017 06:42:20 +0000 (28 06:42 +0000)
tree763e1c086d4cd69cd4e3e9cd6d1df3e14215ead6
parent2874228166c82e811d1f401255ebbee1f441c87e
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247362 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/evrp7.c [copied from gcc/testsuite/gcc.dg/tree-ssa/vrp35.c with 74% similarity]
gcc/testsuite/gcc.dg/tree-ssa/evrp8.c [copied from gcc/testsuite/gcc.dg/tree-ssa/vrp36.c with 67% similarity]
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