This is an archive of the discontinued LLVM Phabricator instance.

[Polly] Introduce another level of metadata to distinguish non-aliasing accesses
ClosedPublic

Authored by gareevroman on Mar 4 2017, 5:54 AM.

Details

Summary

Introduce another level of alias metadata to distinguish the individual non-aliasing accesses that have inter iteration alias-free base pointers marked with "Inter iteration alias-free" mark nodes.. It can be used to, for example, distinguish different stores (loads) produced by unrolling of the innermost loops and, subsequently, sink (hoist) them by LICM.

Diff Detail

Repository
rL LLVM

Event Timeline

gareevroman created this revision.Mar 4 2017, 5:54 AM

P.S: This is a draft of the patch. Currently, it's the responsibility of the user of IRBuilder to make sure that only individual non-aliasing accesses have pointer operands marked with "polly.no.inter.iteration.aliasing" metatdata.

I would be very grateful for your comments, feedback and ideas!

gareevroman edited the summary of this revision. (Show Details)

Use mark nodes to mark base pointers.

Add the test case.

grosser accepted this revision.Mar 14 2017, 2:24 AM

Hi Roman,

this looks good to me.

This revision is now accepted and ready to land.Mar 14 2017, 2:24 AM
This revision was automatically updated to reflect the committed changes.