llvm-project/llvm/lib/Transforms
Hideki Saito f2ec16ccc2 [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
2018-04-29 07:26:18 +00:00
..
AggressiveInstCombine Fix some layering in AggressiveInstCombine (avoiding inclusion of Scalar.h) 2018-04-24 15:40:07 +00:00
Coroutines [Transforms] Change std::sort to llvm::sort in response to r327219 2018-04-13 19:47:57 +00:00
Hello
IPO Fix a bug in GlobalOpt's handling of DIExpressions. 2018-04-27 21:41:36 +00:00
InstCombine [InstCombine] Canonicalize variable mask in masked merge 2018-04-28 15:45:07 +00:00
Instrumentation [HWASan] Use dynamic shadow memory on Android only (LLVM) 2018-04-24 00:16:54 +00:00
ObjCARC [ObjCARC] Take BlockColors by const reference. NFC 2018-04-20 22:14:45 +00:00
Scalar [LoopGuardWidening] Make PostDomTree optional 2018-04-27 23:15:56 +00:00
Utils Fix a bug in GlobalOpt's handling of DIExpressions. 2018-04-27 21:41:36 +00:00
Vectorize [NFC][LV][LoopUtil] Move LoopVectorizationLegality to its own file 2018-04-29 07:26:18 +00:00
CMakeLists.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
LLVMBuild.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00