[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