<div dir="ltr">Given some code:<div><br></div><div>void func (float * restrict a, float *b) {</div><div>  for (int i =0; i < 100; ++i) {</div><div>    a[i] = b[i] + 1;</div><div>  }</div><div>}</div><div><br></div><div>float * aa;</div><div>float * bb;</div><div>int main() {</div><div>   func(aa, bb);</div><div>   return 0;</div><div>}</div><div><br></div><div>produces IR that has the llvm.noalias intrinsic along with the !noalias metadata:for both the load and store, however, AA returns MayAlias, I would expect a NoAlias?</div><div><br></div><div>This is also an older version of llvm: 6 (yes, I know, sigh).</div><div><br></div><div>Thanks,</div><div><br></div><div>Ryan</div><div><br></div><div><br></div></div>