>
> well, it all relies on the simple fact that arithmetic jump function
> discovery does not cross NOP_EXPRs, or any chain of assignments, so they
> are only constructed from things like
>
> _2 = param_2(D) + 4;
> bar (_2);
>
> but not from
>
> _1 = (NOP_EXPR) param_2(D);
> _2 = _1 +
Hi,
On Tue, Nov 12 2019, Richard Biener wrote:
> On Tue, 12 Nov 2019, Jan Hubicka wrote:
>
>> Hi,
>> this patch adds propagation of value ranges through binary operations.
>> This is disabled for value ranges within SCC to avoid infinite loop during
>> propagation. I am bit worried about types he
> > + tree op = ipa_get_jf_pass_through_operand (jfunc);
> > + value_range op_vr (op, op);
> > + value_range op_res,res;
> > +
>
> Do we really know operation is tcc_binary here?
Constant propagation already assumes that at the same spot:
if (TREE_CODE_CLASS (opcode) == tcc_unary)
On Tue, 12 Nov 2019, Jan Hubicka wrote:
> Hi,
> this patch adds propagation of value ranges through binary operations.
> This is disabled for value ranges within SCC to avoid infinite loop during
> propagation. I am bit worried about types here. As far as I can say we
> have something like
>
>
Hi,
this patch adds propagation of value ranges through binary operations.
This is disabled for value ranges within SCC to avoid infinite loop during
propagation. I am bit worried about types here. As far as I can say we
have something like
VR in lattice of type1
foo (type1 param)
{
bar ((type