tree-vrp.c (intersect_ranges): If we failed to handle the intersection choose a constant singleton range if...
2016-09-30 Richard Biener <rguenther@suse.de> * tree-vrp.c (intersect_ranges): If we failed to handle the intersection choose a constant singleton range if available. From-SVN: r240647
This commit is contained in:
parent
f334c828fe
commit
68ad1df5f5
@ -1,3 +1,8 @@
|
||||
2016-09-30 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vrp.c (intersect_ranges): If we failed to handle
|
||||
the intersection choose a constant singleton range if available.
|
||||
|
||||
2016-09-30 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/77399
|
||||
|
@ -8555,7 +8555,16 @@ intersect_ranges (enum value_range_type *vr0type,
|
||||
|
||||
/* As a fallback simply use { *VRTYPE, *VR0MIN, *VR0MAX } as
|
||||
result for the intersection. That's always a conservative
|
||||
correct estimate. */
|
||||
correct estimate unless VR1 is a constant singleton range
|
||||
in which case we choose that. */
|
||||
if (vr1type == VR_RANGE
|
||||
&& is_gimple_min_invariant (vr1min)
|
||||
&& vrp_operand_equal_p (vr1min, vr1max))
|
||||
{
|
||||
*vr0type = vr1type;
|
||||
*vr0min = vr1min;
|
||||
*vr0max = vr1max;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user