Displaying 2 results from an estimated 2 matches for "originalscev".
2020 Jul 30
2
Normalize a SCEV Expression
...p like:
int64_t *p;
for (int64_t i = 0; i < ...; ++i)
p[i+2]...
And assuming that I'm on a 64-bit machine. What I would like to do is
normalize it
like that, basically this: {2,+,1} i.e. map it to the index.
Now, I tried to get the underlying element size of the pointer, then
getUDivExpr(OriginalSCEV, ElementSize); But I don't get the desired SCEV
back. Instead I'm getting:
{16,+,8} \u 8, i.e. just adding udiv in the original expression.
Why is this not simplified?
Thanks,
Stefanos Baziotis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list...
2020 Jul 31
2
Normalize a SCEV Expression
...p[i+2]...
> >
> > And assuming that I'm on a 64-bit machine. What I would like to do is
> normalize it
> > like that, basically this: {2,+,1} i.e. map it to the index.
> >
> > Now, I tried to get the underlying element size of the pointer, then
> getUDivExpr(OriginalSCEV, ElementSize); But I don't get the desired SCEV
> back. Instead I'm getting:
> > {16,+,8} \u 8, i.e. just adding udiv in the original expression.
> >
>
>
> I guess the problem here is that the AddRec is missing overflow flags,
> which means the expression may over...