[PATCH] [LoopVectorize] Move LoopAccessAnalysis to its own module

Adam Nemet anemet at apple.com
Thu Jan 29 16:53:22 PST 2015


Hi hfinkel, aschwaighofer,

Other than moving code and adding the boilerplate for the new files, the code
being moved is unchanged.

There are a few global functions that are shared with the rest of the
LoopVectorizer.  I moved these to the new module as well (emitLoopAnalysis,
stripIntegerCast, replaceSymbolicStrideSCEV) along with the Report class used
by emitLoopAnalysis.  There is probably room for further improvement in this
area.

I kept DEBUG_TYPE "loop-vectorize" because it's used as the PassName with
emitOptimizationRemarkAnalysis.  This will obviously have to change.

NFC.  This is part of the patchset that splits out the memory dependence logic
from LoopVectorizationLegality into a new class LoopAccessAnalysis.
LoopAccessAnalysis will be used by the new Loop Distribution pass.

http://reviews.llvm.org/D7285

Files:
  include/llvm/Analysis/LoopAccessAnalysis.h
  lib/Analysis/CMakeLists.txt
  lib/Analysis/LoopAccessAnalysis.cpp
  lib/Transforms/Vectorize/LoopVectorize.cpp

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7285.19014.patch
Type: text/x-patch
Size: 95352 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150130/526a7b2c/attachment.bin>


More information about the llvm-commits mailing list