2017-11-28 Richard Biener <rguenther@suse.de>
commitdd4357934df6049ef4ced3e25de23bf5b074d19e
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Nov 2017 14:58:11 +0000 (28 14:58 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Nov 2017 14:58:11 +0000 (28 14:58 +0000)
tree4de8c7b0b37f10808fb3874b112408d5dc6787ce
parent4f1ed5b17fec1440584c88f1aecdd0c8743dcb4e
2017-11-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/80776
* gimple-ssa-evrp-analyze.h (evrp_range_analyzer::set_ssa_range_info):
Declare.
* gimple-ssa-evrp-analyze.c (evrp_range_analyzer::set_ssa_range_info):
New function.
(evrp_range_analyzer::record_ranges_from_incoming_edges):
If the incoming edge is an effective fallthru because the other
edge only reaches a __builtin_unreachable () then record ranges
derived from the controlling condition in SSA info.
(evrp_range_analyzer::record_ranges_from_phis): Use set_ssa_range_info.
(evrp_range_analyzer::record_ranges_from_stmt): Likewise.

* gcc.dg/pr80776-1.c: New testcase.
* gcc.dg/pr80776-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@255201 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gimple-ssa-evrp-analyze.c
gcc/gimple-ssa-evrp-analyze.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr80776-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr80776-2.c [new file with mode: 0644]
gcc/tree-vrp.c
gcc/tree-vrp.h