<div dir="ltr">Hi,<br><br>I have a SCEV like this: {16,+,8}. Say that this came from a loop like:<br>int64_t *p;<br>for (int64_t i = 0; i < ...; ++i)<div>  p[i+2]...</div><div><br></div><div>And assuming that I'm on a 64-bit machine. What I would like to do is normalize it</div><div>like that, basically this: {2,+,1} i.e. map it to the index.</div><div><br></div><div>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:</div><div>{16,+,8} \u 8, i.e. just adding udiv in the original expression.<br><br>Why is this not simplified?</div><div><br></div><div>Thanks,<br>Stefanos Baziotis</div></div>