<font size=2 face="sans-serif">I am testing vectorization on the following
test case:</font>
<br>
<br><font size=2 face="sans-serif">float x[1024], y[1024];</font>
<br>
<br><font size=2 face="sans-serif">void myloop1() {</font>
<br><font size=2 face="sans-serif"> for (long
int k = 0; k < 512; k++) {</font>
<br><font size=2 face="sans-serif"> x[2*k]
= x[2*k]+y[k];</font>
<br><font size=2 face="sans-serif"> }</font>
<br><font size=2 face="sans-serif">}</font>
<br>
<br><font size=2 face="sans-serif">Vectorization failed due to "unsafe
dependent memory operation". I traced the LoopAccessAnalysis.cpp and
found the reason is the NoWrapFlag for SCEVAddRecExpr is not set and consequently
the dependence distant became unknown. </font>
<br>
<br><font size=2 face="sans-serif">Can anyone familiar with ScalarRevolution
tell me whether this is an expected behavior or a bug? </font>
<br>
<br><font size=2 face="sans-serif">Tong</font>