This is an archive of the discontinued LLVM Phabricator instance.

[LV][LoopUtils] Add UseReductionIntrinsic to createTargetReduction
Needs ReviewPublic

Authored by dmgreen on Jul 12 2020, 1:39 PM.

Details

Summary

This changes the interface to createTargetReduction and createSimpleTargetReduction to take a UseReductionIntrinsic bool, instead of asking TTI. This allows us to calculate UseReductionIntrinsic earlier in the vectorizer and reduce the need to propagate TTI into RecuctionRecipes.

In the process I added a getReductionFlags mathod for conveniently creating the TargetTransformInfo::ReductionFlags flags used by several methods.

Diff Detail