Oh, I am talking about the stores (not the loads, obviously), fyi. Also, I'm curious why this simple code change:<br><br> int temp=0;<br> if (var > start*end) {<br> //arr[var] = arr[var-1];<br> temp = arr[var-1];<br>
}<br> else {<br> temp = arr[var+1];<br> //arr[var] = arr[var+1];<br> }<br> arr[var] = temp;<br><br>Produces such different results?<br><br><div class="gmail_quote">On Tue, May 29, 2012 at 11:55 AM, Ryan Taylor <span dir="ltr"><<a href="mailto:ryta1203@gmail.com" target="_blank">ryta1203@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><span style><span style="background-color:rgb(0,0,0)"><span style="background-color:rgb(255,255,255)">I just have two questions regarding the following small piece of code:<br>
<br> if (var > start*end) {<br> arr[var] = arr[var-1];<br> }<br> else {<br> arr[var] = arr[var+1];<br> }<br><br>1. Why does llvm put the address computation in the branched blocks instead of the common dominator?<br>
2. Why does the AliasAnalysis return MayAlias instead of MustAlias?<br><br>Thanks.<br></span></span></span></span>
</blockquote></div><br>