OSDN Git Service

[SLP] Use SCEV to sort memory accesses.
authorMichael Kuperstein <mkuper@google.com>
Fri, 3 Feb 2017 19:09:45 +0000 (19:09 +0000)
committerMichael Kuperstein <mkuper@google.com>
Fri, 3 Feb 2017 19:09:45 +0000 (19:09 +0000)
commitdce4987e9b54c8d4bc74722963668b55b7383e4c
tree5901593701ef1e959af5a81c8739838f75de580f
parent30af5932fd43a53158bfa1cb6a3e4b1630d8064c
[SLP] Use SCEV to sort memory accesses.

This generalizes memory access sorting to use differences between SCEVs,
instead of relying on constant offsets. That allows us to properly do
SLP vectorization of non-sequentially ordered loads within loops bodies.

Differential Revision: https://reviews.llvm.org/D29425

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294027 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/LoopAccessAnalysis.h
lib/Analysis/LoopAccessAnalysis.cpp
test/Transforms/SLPVectorizer/X86/jumbled-load.ll