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>