OSDN Git Service

[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)
commit8784c51c371a2ac3f5bba509786930bf32e97f34
tree0c1035d53da3a310b4b06b361a45465de386aad5
parent519e2e52fa1b8cbcc7298a3baaddf000d311a212
[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331139 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h [new file with mode: 0644]
lib/Transforms/Vectorize/CMakeLists.txt
lib/Transforms/Vectorize/LoopVectorizationLegality.cpp [new file with mode: 0644]
lib/Transforms/Vectorize/LoopVectorize.cpp