[PATCH] D45552: [NFC][LV][LoopUtil] Move LoopVectorizationLegality to Analysis tree

Hideki Saito via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 11 19:24:54 PDT 2018


hsaito created this revision.
hsaito added reviewers: rengolin, fhahn, hfinkel, mkuper, aemerson, mssimpso, dcaballe, sguggill.
Herald added subscribers: llvm-commits, mgorny.

This is a follow up to https://reviews.llvm.org/D45420 (included here since it is still under review and this change is dependent on that) and https://reviews.llvm.org/D45072 (committed).
Actual change for this patch is LoopVectorize* and cmakefile. All others are all from https://reviews.llvm.org/D45420.

LoopVectorizationLegality is an analysis and thus really belongs to Analysis tree. It is modular enough and it is reusable enough ---- we can further improve those aspects once uses outside of LV picks up.

Hopefully, this will make it easier for people familiar with vectorization theory, but not necessarily LV itself to contribute, by lowering the volume of code they should deal with. We probably should start adding some code in LV to check its own capability (i.e., vectorization is legal but LV is not ready to handle it) and then bail out.


Repository:
  rL LLVM

https://reviews.llvm.org/D45552

Files:
  include/llvm/Analysis/LoopVectorizationLegality.h
  include/llvm/Analysis/Utils/LoopUtils.h
  include/llvm/Transforms/Utils/LoopUtils.h
  lib/Analysis/CMakeLists.txt
  lib/Analysis/LoopUtils.cpp
  lib/Analysis/LoopVectorizationLegality.cpp
  lib/Transforms/Scalar/LICM.cpp
  lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  lib/Transforms/Scalar/LoopUnswitch.cpp
  lib/Transforms/Utils/LoopUtils.cpp
  lib/Transforms/Vectorize/LoopVectorize.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45552.142106.patch
Type: text/x-patch
Size: 221907 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180412/2fd98508/attachment-0001.bin>


More information about the llvm-commits mailing list