Add prange entries in gimple-range-op.cc.
gcc/ChangeLog: * gimple-range-op.cc (class cfn_pass_through_arg1): Add overloads for prange operations. (cfn_strlen): Same.
This commit is contained in:
parent
ff306c77b7
commit
6cec31d44a
1 changed files with 36 additions and 0 deletions
|
@ -311,12 +311,37 @@ public:
|
|||
r = lh;
|
||||
return true;
|
||||
}
|
||||
virtual bool fold_range (prange &r, tree, const prange &lh,
|
||||
const prange &, relation_trio) const
|
||||
{
|
||||
r = lh;
|
||||
return true;
|
||||
}
|
||||
virtual bool op1_range (irange &r, tree, const irange &lhs,
|
||||
const irange &, relation_trio) const
|
||||
{
|
||||
r = lhs;
|
||||
return true;
|
||||
}
|
||||
virtual bool op1_range (prange &r, tree, const prange &lhs,
|
||||
const prange &, relation_trio) const
|
||||
{
|
||||
r = lhs;
|
||||
return true;
|
||||
}
|
||||
virtual bool pointers_handled_p (range_op_dispatch_type type,
|
||||
unsigned dispatch) const
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DISPATCH_FOLD_RANGE:
|
||||
return dispatch == RO_PPP;
|
||||
case DISPATCH_OP1_RANGE:
|
||||
return dispatch == RO_PPP;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} op_cfn_pass_through_arg1;
|
||||
|
||||
// Implement range operator for CFN_BUILT_IN_SIGNBIT.
|
||||
|
@ -1107,6 +1132,17 @@ public:
|
|||
r.set (type, wi::zero (TYPE_PRECISION (type)), max - 2);
|
||||
return true;
|
||||
}
|
||||
virtual bool pointers_handled_p (range_op_dispatch_type type,
|
||||
unsigned dispatch) const
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DISPATCH_FOLD_RANGE:
|
||||
return dispatch == RO_IPI;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} op_cfn_strlen;
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue