aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
diff options
context:
space:
mode:
authorRoman Gareev <gareevroman@gmail.com>2017-08-08 16:50:28 +0000
committerRoman Gareev <gareevroman@gmail.com>2017-08-08 16:50:28 +0000
commit1563f039f5049c0641732a2f00ee499e6c43f678 (patch)
tree48f8e1d78916d161293f99c6c5f605cc85d6b733 /llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
parent4aa19052f301a21b0f1f4a416e86bbadd2a1b578 (diff)
downloadllvm-1563f039f5049c0641732a2f00ee499e6c43f678.zip
llvm-1563f039f5049c0641732a2f00ee499e6c43f678.tar.gz
llvm-1563f039f5049c0641732a2f00ee499e6c43f678.tar.bz2
Use SCEV information for the second level aliasing
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. Reviewed-by: Tobias Grosser <tobias@grosser.es> Differential Revision: https://reviews.llvm.org/D35761 llvm-svn: 310380
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions