Commit 5e4a80e8 by Jeff Law Committed by Jeff Law

* gimple-ssa-evrp-analyze.c

	(evrp_range_analyzer::record_ranges_from_phis): Only use SCEV to
	refine ranges if scev_initialized_p returns true.
	* vr-values.c (vr_values::extract_range_from_phi_node): Likewise.

From-SVN: r255211
parent 19686044
2017-11-28 Jeff Law <law@redhat.com>
* gimple-ssa-evrp-analyze.c
(evrp_range_analyzer::record_ranges_from_phis): Only use SCEV to
refine ranges if scev_initialized_p returns true.
* vr-values.c (vr_values::extract_range_from_phi_node): Likewise.
2017-11-28 Julia Koval <julia.koval@intel.com> 2017-11-28 Julia Koval <julia.koval@intel.com>
* config/i386/avx512vbmi2intrin.h (_mm512_shrdi_epi16, * config/i386/avx512vbmi2intrin.h (_mm512_shrdi_epi16,
...@@ -246,7 +246,8 @@ evrp_range_analyzer::record_ranges_from_phis (basic_block bb) ...@@ -246,7 +246,8 @@ evrp_range_analyzer::record_ranges_from_phis (basic_block bb)
to use VARYING for them. But we can still resort to to use VARYING for them. But we can still resort to
SCEV for loop header PHIs. */ SCEV for loop header PHIs. */
struct loop *l; struct loop *l;
if (interesting if (scev_initialized_p ()
&& interesting
&& (l = loop_containing_stmt (phi)) && (l = loop_containing_stmt (phi))
&& l->header == gimple_bb (phi)) && l->header == gimple_bb (phi))
vr_values->adjust_range_with_scev (&vr_result, l, phi, lhs); vr_values->adjust_range_with_scev (&vr_result, l, phi, lhs);
......
...@@ -2935,7 +2935,8 @@ scev_check: ...@@ -2935,7 +2935,8 @@ scev_check:
scev_check can be reached from two paths, one is a fall through from above scev_check can be reached from two paths, one is a fall through from above
"varying" label, the other is direct goto from code block which tries to "varying" label, the other is direct goto from code block which tries to
avoid infinite simulation. */ avoid infinite simulation. */
if ((l = loop_containing_stmt (phi)) if (scev_initialized_p ()
&& (l = loop_containing_stmt (phi))
&& l->header == gimple_bb (phi)) && l->header == gimple_bb (phi))
adjust_range_with_scev (vr_result, l, phi, lhs); adjust_range_with_scev (vr_result, l, phi, lhs);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment