This is an archive of the discontinued LLVM Phabricator instance.

[LoopVectorize] Mark store instructions as uniform in collectLoopUniforms
AbandonedPublic

Authored by kmclaughlin on Nov 2 2021, 10:40 AM.

Details

Summary

Follow on from D112725, which changes VPReplicateRecipe to generate the
last lane of a uniform store. This patch changes collectLoopUniforms to add stores
to the list of uniform instructions where Legal->isUniformMemOp is true.

setCostBasedWideningDecision now sets the widening decision for all uniform
memory ops to Scalarize, where previously GatherScatter may have been
chosen for scalable stores.

Diff Detail