This is an archive of the discontinued LLVM Phabricator instance.

[LV] Add support for insertelt/extractelt processing during type truncation
ClosedPublic

Authored by sbaranga on Feb 10 2016, 9:15 AM.

Details

Summary

While shrinking types according to the required bits, we can
encounter insert/extract element instructions. This will cause us to
reach an llvm_unreachable statement.

This change adds support for truncating insert/extract element
operations, and adds a regression test.

Diff Detail

Event Timeline

sbaranga updated this revision to Diff 47465.Feb 10 2016, 9:15 AM
sbaranga retitled this revision from to [LV] Add support for insertelt/extractelt processing during type truncation.
sbaranga updated this object.
sbaranga added a reviewer: jmolloy.
sbaranga added a subscriber: llvm-commits.
jmolloy accepted this revision.Feb 15 2016, 7:08 AM
jmolloy edited edge metadata.

Hi Silviu,

Thanks for fixing this, it's been on my radar for a while. Apart from my comment about using auto*, LGTM.

James

lib/Transforms/Vectorize/LoopVectorize.cpp
3248

Please use auto* for readability.

This revision is now accepted and ready to land.Feb 15 2016, 7:08 AM
sbaranga updated this revision to Diff 47992.Feb 15 2016, 7:42 AM
sbaranga edited edge metadata.

Address comment from James.

sbaranga closed this revision.Feb 15 2016, 7:42 AM

Thanks James, committed in r260893!

-Silviu