[PATCH] D35761: [Polly][WIP] Use SCEV information for the second level aliasing

Roman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jul 22 00:25:29 PDT 2017


gareevroman created this revision.
Herald added a reviewer: bollu.

We 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. To distinguish two  accesses, the comparison of raw pointers representing base pointers is used.

In case of, for example, ublas's prod function that implements GEMM, and DeLiCM we can get accesses to same location represented by different raw pointers. Consequently, we create different alias sets that can prevent accesses from, for example, being sinked or hoisted.

To avoid the issue, we compare the corresponding SCEV information instead of the corresponding raw pointers.


https://reviews.llvm.org/D35761

Files:
  include/polly/CodeGen/IRBuilder.h
  lib/CodeGen/IRBuilder.cpp
  test/ScheduleOptimizer/kernel_gemm___%for.body---%for.end24.jscop.transformed
  test/ScheduleOptimizer/pattern-matching-based-opts_12.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D35761.107776.patch
Type: text/x-patch
Size: 11268 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170722/c83644ba/attachment.bin>


More information about the llvm-commits mailing list