Given the following SCEV,<div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div><font face="courier new, monospace"><b>(sext i32 {2,+,1}<nw><%for.body> to i64)</b></font></div></div>
</blockquote><div><div><br></div></div><div>from the following C source,</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div><font face="courier new, monospace"><b>void strong3(int *A, int *B, int n) {</b></font></div>
</div><div><div><font face="courier new, monospace"><b> for (int i = 0; i < n; i++) {</b></font></div></div><div><div><font face="courier new, monospace"><b> A[i + 2] = i;</b></font></div></div><div><div><font face="courier new, monospace"><b> ...</b></font></div>
</div><div><div><font face="courier new, monospace"><b> }</b></font></div></div><div><div><font face="courier new, monospace"><b>}</b></font></div></div></blockquote><div><br></div><div>Since the No-Wrap flag is set on the addrec, can't I safely rewrite it as</div>
<div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><font face="courier new, monospace"><b>{2,+,1}<nw><%for.body></b></font></div></blockquote><div><br></div><div>If I can, why isn't the SCEV package simplifying things for me?</div>
<div><br></div><div>Thanks,</div><div>Preston</div><div><br></div>