This is an archive of the discontinued LLVM Phabricator instance.

[SelectionDAG] Simplify extract_subvector( insert_subvector ( Vec, In, Idx ), Idx ) -> In
ClosedPublic

Authored by RKSimon on Sep 6 2016, 6:34 AM.

Details

Summary

If we are extracting a subvector that has just been inserted then we should just use the original inserted subvector.

This has come up in certain several x86 shuffle lowering cases where we are crossing 128-bit lanes.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon updated this revision to Diff 70394.Sep 6 2016, 6:34 AM
RKSimon retitled this revision from to [SelectionDAG] Simplify extract_subvector( insert_subvector ( Vec, In, Idx ), Idx ) -> In.
RKSimon updated this object.
RKSimon set the repository for this revision to rL LLVM.
RKSimon added a subscriber: llvm-commits.
andreadb accepted this revision.Sep 6 2016, 7:26 AM
andreadb edited edge metadata.

Hi Simon,

LGTM. Thanks!

lib/CodeGen/SelectionDAG/SelectionDAG.cpp
3758 ↗(On Diff #70394)

extra spaces?

This revision is now accepted and ready to land.Sep 6 2016, 7:26 AM
This revision was automatically updated to reflect the committed changes.