[LV] Move getScalarizationOverhead and vector call cost computations to CM. (NFC)
authorFlorian Hahn <flo@fhahn.com>
Wed, 15 May 2019 10:05:49 +0000 (10:05 +0000)
committerFlorian Hahn <flo@fhahn.com>
Wed, 15 May 2019 10:05:49 +0000 (10:05 +0000)
commit9e778e6c730a439229079811674dec6a37792412
tree66f8bcd21c4d226029cb4cd5dead532ea8a4f9d9
parentde1becfaa198115fa695e6bd939dce94ca15d860
[LV] Move getScalarizationOverhead and vector call cost computations to CM. (NFC)

This reduces the number of parameters we need to pass in and they seem a
natural fit in LoopVectorizationCostModel. Also simplifies things for
D59995.

As a follow up refactoring, we could only expose a expose a
shouldUseVectorIntrinsic() helper in LoopVectorizationCostModel, instead
of calling getVectorCallCost/getVectorIntrinsicCost in
InnerLoopVectorizer/VPRecipeBuilder.

Reviewers: Ayal, hsaito, dcaballe, rengolin

Reviewed By: rengolin

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

llvm-svn: 360758
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h