diff options
| author | Farhana Aleen <farhana.aleen@gmail.com> | 2018-07-19 16:50:27 +0000 | 
|---|---|---|
| committer | Farhana Aleen <farhana.aleen@gmail.com> | 2018-07-19 16:50:27 +0000 | 
| commit | 8c7a30baea219e8143b13e3e384ff713d8bb7c76 (patch) | |
| tree | 6f6740fbacbb2020321e1c3833f2b13403986b17 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
| parent | d1cf276621a7382a0f8e1d6f70d317e3944ffbeb (diff) | |
| download | llvm-8c7a30baea219e8143b13e3e384ff713d8bb7c76.zip llvm-8c7a30baea219e8143b13e3e384ff713d8bb7c76.tar.gz llvm-8c7a30baea219e8143b13e3e384ff713d8bb7c76.tar.bz2  | |
[LoadStoreVectorizer] Use getMinusScev() to compute the distance between two pointers.
Summary: Currently, isConsecutiveAccess() detects two pointers(PtrA and PtrB) as consecutive by
         comparing PtrB with BaseDelta+PtrA. This works when both pointers are factorized or
         both of them are not factorized. But isConsecutiveAccess() fails if one of the
         pointers is factorized but the other one is not.
         Here is an example:
         PtrA = 4 * (A + B)
         PtrB = 4 + 4A + 4B
         This patch uses getMinusSCEV() to compute the distance between two pointers.
         getMinusSCEV() allows combining the expressions and computing the simplified distance.
Author: FarhanaAleen
Reviewed By: rampitec
Differential Revision: https://reviews.llvm.org/D49516
llvm-svn: 337471
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions
