This is an archive of the discontinued LLVM Phabricator instance.

[LV] Remove ILV::sinkScalarOperands, superseded by VPlan version.
Needs ReviewPublic

Authored by fhahn on Dec 16 2022, 12:10 PM.

Details

Reviewers
Ayal
gilr
rengolin
Summary

This patch removes the IR-based sinkScalarOperands which has been
superseded by the VPlan-based one.

There are a few cases that cannot be handled by the VPlan-based one, the
main one being sinking only some scalar computations (e.g. if the first
lane is used elsewhere).

The VPlan-based version also avoids sinking instructions that read
memory, to avoid sinking past aliasing stores. IIUC this fixes a
miscompile in the @minimal_bit_widths_with_aliasing_store test, where we
sink a load past an aliasing store.

Depends on D139977.

Diff Detail