* 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
This commit is contained in:
parent
196860441e
commit
5e4a80e8a8
3 changed files with 11 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
|||
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>
|
||||
|
||||
* config/i386/avx512vbmi2intrin.h (_mm512_shrdi_epi16,
|
||||
|
|
|
@ -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
|
||||
SCEV for loop header PHIs. */
|
||||
struct loop *l;
|
||||
if (interesting
|
||||
if (scev_initialized_p ()
|
||||
&& interesting
|
||||
&& (l = loop_containing_stmt (phi))
|
||||
&& l->header == gimple_bb (phi))
|
||||
vr_values->adjust_range_with_scev (&vr_result, l, phi, lhs);
|
||||
|
|
|
@ -2935,7 +2935,8 @@ scev_check:
|
|||
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
|
||||
avoid infinite simulation. */
|
||||
if ((l = loop_containing_stmt (phi))
|
||||
if (scev_initialized_p ()
|
||||
&& (l = loop_containing_stmt (phi))
|
||||
&& l->header == gimple_bb (phi))
|
||||
adjust_range_with_scev (vr_result, l, phi, lhs);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue