[llvm-commits] DependenceAnalysis patch

Preston Briggs preston.briggs at gmail.com
Mon Nov 19 11:11:10 PST 2012


Still hoping for a review & commit of this patch to the dependence analysis.
It's not so big...

   - 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.
   - 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().
   - 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++).

Thank,
Preston


On Wed, Nov 14, 2012 at 3:46 PM, Preston Briggs <preston.briggs at gmail.com>wrote:

> Here's an updated patch for DA.
> It corrects the problem Chandler found,
> plus handles pointer dereferencing in a reasonable fashion.
> Test cases are updated to match.
>
> If someone could review this change and check it in, if appropriate, I'd
> be obliged.
>
> Thanks,
> Preston
>
>
>
> On Tue, Nov 13, 2012 at 4:15 AM, Benjamin Kramer <benny.kra at gmail.com>wrote:
>
>>
>> On 07.11.2012, at 21:51, Preston Briggs <preston.briggs at gmail.com> wrote:
>>
>> > Here's a patch that covers the problems reported by Chandler last week.
>> > 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.
>> >
>> > 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.
>> >
>> > If someone could review this change and check it in, if appropriate,
>> I'd be obliged.
>>
>> Hi Preston,
>>
>> Patch looks good, however, please send changes like this in smaller,
>> incremental patches. A 300 KB diff
>> is hard to review, especially when there are different changes
>> intertwined.
>>
>> 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.
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121119/716d74bf/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: da.patch
Type: application/octet-stream
Size: 69261 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121119/716d74bf/attachment.obj>


More information about the llvm-commits mailing list