summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
diff options
context:
space:
mode:
authorFarhana Aleen <farhana.aleen@gmail.com>2018-07-19 16:50:27 +0000
committerFarhana Aleen <farhana.aleen@gmail.com>2018-07-19 16:50:27 +0000
commit8c7a30baea219e8143b13e3e384ff713d8bb7c76 (patch)
tree6f6740fbacbb2020321e1c3833f2b13403986b17 /clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
parentd1cf276621a7382a0f8e1d6f70d317e3944ffbeb (diff)
downloadbcm5719-llvm-8c7a30baea219e8143b13e3e384ff713d8bb7c76.tar.gz
bcm5719-llvm-8c7a30baea219e8143b13e3e384ff713d8bb7c76.zip
[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 'clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud