On 10/6/20 2:56 PM, Andrew MacLeod wrote:
Ah, by just using the outgoing_range class, all you are getting is static 
edges.  so a TRUE edge is always a [1,1] and a false edge is [0,0]
I provided that class so you could get the constant edges on switches.

if you want to get actual ranges for ssa-names, you will need the ranger (which 
I think is going in today).  It uses those values as the starting point for 
winding back to calculate other dependent names.

Ah, all right!


Then  you will want to query the ranger for the range of index_5 on that edge..

Fine! So the only tricky thing here is to select a proper SSA_NAME to query 
right?
In my case I need to cover situations like:

  index.0_1 = (unsigned int) index_5(D);
  _2 = index.0_1 + 4294967287;
  if (_2 <= 114)

or

    _1 = aChar_8(D) == 1;
    _2 = aChar_8(D) == 10;
    _3 = _1 | _2;
    if (_3 != 0)

Anything Ranger can help me with?

Martin


so you will need a gimple ranger instance instead of an outgoing_range object.

Andrew

Reply via email to