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