This is an archive of the discontinued LLVM Phabricator instance.

[LV] Collect candidates for sinking during VP2P sinkScalarOperands.
AbandonedPublic

Authored by fhahn on Apr 20 2021, 7:41 AM.

Details

Reviewers
Ayal
gilr
rengolin
Summary

Some cases currently cannot be handled by the VPlan-to-VPlan version of
sinkScalarOperands. Those include cases where only scalars for some
lanes be sunk (e.g. for induction variables) or the code to extract
scalars from a widened instruction.

Those are still handled by the original sinkScalarOperands, but we can
collect the source instructions during the VPlan-to-VPlan transform, to
avoid unnecessary work.

Note that this also fixes an issues where sinkScalarOperands would sink
instructions that may read from memory. This is not legal, unless we can
prove there are no aliasing stores in between the original and target
location.

Diff Detail

Event Timeline

fhahn created this revision.Apr 20 2021, 7:41 AM
fhahn requested review of this revision.Apr 20 2021, 7:41 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 20 2021, 7:41 AM
Herald added a subscriber: vkmr. · View Herald Transcript
fhahn abandoned this revision.May 16 2021, 10:44 AM

After recent improvements to D100258, this is not needed any longer.