For ranges, PHIs don't need to process arg == def.
If an argument of a phi is the same as the DEF of the phi, then the range on the incoming edge doesn't need to be taken into account since it can't be anything other than itself. * gimple-range-fold.cc (fold_using_range::range_of_phi): Don't import a range from edge if arg == phidef.
This commit is contained in:
parent
b18394ce15
commit
6d936684fc
1 changed files with 4 additions and 0 deletions
|
@ -779,6 +779,10 @@ fold_using_range::range_of_phi (irange &r, gphi *phi, fur_source &src)
|
|||
for (x = 0; x < gimple_phi_num_args (phi); x++)
|
||||
{
|
||||
tree arg = gimple_phi_arg_def (phi, x);
|
||||
// An argument that is the same as the def provides no new range.
|
||||
if (arg == phi_def)
|
||||
continue;
|
||||
|
||||
edge e = gimple_phi_arg_edge (phi, x);
|
||||
|
||||
// Get the range of the argument on its edge.
|
||||
|
|
Loading…
Add table
Reference in a new issue