Still hoping for a review & commit of this patch to the dependence analysis.<div>It's not so big...</div><div><ul><li>Mostly I look for cases where relying on the GEPs alone doesn't make sense. When I find such cases, I just use the raw SCEVs directly. This corrects my earlier error, plus enables us to analyze many pointer dereferences effectively, addressing Chandler's complaints.<br>
</li><li>I had to update many lines of code to remove the "const" qualifier on instructions passed into DA so that I could call SE->getSCEV().<br></li><li>The results of all the test cases had to change slightly, 'cause we're now able to test the pointer dereferences instead of simply reporting "Confused" (all my test cases need to test an for an output dependence between stores to *B++).<br>
</li></ul>Thank,</div><div>Preston</div>
<div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 14, 2012 at 3:46 PM, Preston Briggs <span dir="ltr"><<a href="mailto:preston.briggs@gmail.com" target="_blank">preston.briggs@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Here's an updated patch for DA.<div>It corrects the problem Chandler found, </div><div>plus handles pointer dereferencing in a reasonable fashion.</div>

<div>Test cases are updated to match.</div><div><br></div><div><div><div style="font-family:arial,sans-serif;font-size:13px">
If someone could review this change and check it in, if appropriate, I'd be obliged.</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div></div><div style="font-family:arial,sans-serif;font-size:13px">

Thanks,</div>
<div style="font-family:arial,sans-serif;font-size:13px">Preston</div></div><div><br></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div>On Tue, Nov 13, 2012 at 4:15 AM, Benjamin Kramer <span dir="ltr"><<a href="mailto:benny.kra@gmail.com" target="_blank">benny.kra@gmail.com</a>></span> wrote:<br>


</div><div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><br>
On 07.11.2012, at 21:51, Preston Briggs <<a href="mailto:preston.briggs@gmail.com" target="_blank">preston.briggs@gmail.com</a>> wrote:<br>
<br>
> Here's a patch that covers the problems reported by Chandler last week.<br>
> It checks the base pointer of each GEP to be sure they are loop invariant. The patch also updates the -analyze functionality so that all pairs of memory references are tested. Finally, all the test cases have been updated.<br>



><br>
> I haven't yet updated DA to analyze pairs of pointer dereferences. I wanted to get the initial correction in place first. I also expect that analyzer pointer derefs will benefit from delinearization and am hoping it gets incorporated soon.<br>



><br>
> If someone could review this change and check it in, if appropriate, I'd be obliged.<br>
<br>
</div></div>Hi Preston,<br>
<br>
Patch looks good, however, please send changes like this in smaller, incremental patches. A 300 KB diff<br>
is hard to review, especially when there are different changes intertwined.<br>
<br>
I went ahead and committed the test case fixes along with the change to dump all pairs in r167827. The remaining bits are in the attached file, I'd like to have a second pair of eyes looking over it before it goes in.<br>



<br>
</blockquote></div></div></div><br></div>
</blockquote></div><br></div></div>