[PATCH] D45072: [NFC][LV] Move InterleaveInfo from Legal to CostModel
Hideki Saito via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 29 17:25:26 PDT 2018
hsaito created this revision.
hsaito added reviewers: rengolin, hfinkel, mkuper, dcaballe, sguggill, fhahn, aemerson.
Herald added a subscriber: llvm-commits.
Another clean up, following https://reviews.llvm.org/D43208.
Interleaved memory access analysis/optimization has nothing to do with vectorization legality. It doesn't really belong there. On the other hand, cost model certainly has to know about it.
In principle, vectorization should proceed like Legality ==> Optimization ==> CostModel ==> CodeGen, and this change just does that,
by moving the interleaved access analysis/decision out of Legal, and run it just before CostModel object is created.
After this, I can move LoopVectorizationLegality and Hints/Requirements classes into it's own header file, making it shareable within Transform tree. I have the patch already but I don't want to mix with this change. Eventual goal is to move to Analysis tree, but I first need to move RecurrenceDescriptor/InductionDescriptor from Transform/Util/LoopUtil.* to Analysis.
Repository:
rL LLVM
https://reviews.llvm.org/D45072
Files:
lib/Transforms/Vectorize/LoopVectorize.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45072.140370.patch
Type: text/x-patch
Size: 12375 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180330/aed841c7/attachment.bin>
More information about the llvm-commits
mailing list