[NFC][LV][LoopUtil] Move LoopVectorizationLegality to its own file
authorHideki Saito <hideki.saito@intel.com>
Sun, 29 Apr 2018 07:26:18 +0000 (07:26 +0000)
committerHideki Saito <hideki.saito@intel.com>
Sun, 29 Apr 2018 07:26:18 +0000 (07:26 +0000)
commitf2ec16ccc29ea05de057f26316fc94e82fd38152
treef0b8666cf6adea9e653e3253e096b83c6161f555
parent18c4c8efafcbd7b15bdf70c1b67d2f22b4f5c034
[NFC][LV][LoopUtil] Move LoopVectorizationLegality to its own file

Summary:
This is a follow up to D45420 (included here since it is still under review and this change is dependent on that) and D45072 (committed).
Actual change for this patch is LoopVectorize* and cmakefile. All others are all from 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.

Reviewers: rengolin, fhahn, hfinkel, mkuper, aemerson, mssimpso, dcaballe, sguggill

Reviewed By: rengolin, dcaballe

Subscribers: egarcia, rogfer01, mgorny, llvm-commits

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

llvm-svn: 331139
llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h [new file with mode: 0644]
llvm/lib/Transforms/Vectorize/CMakeLists.txt
llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp [new file with mode: 0644]
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp