This is an archive of the discontinued LLVM Phabricator instance.

[SLP] Don't vectorize stores of non-packed types (like i1, i2)
ClosedPublic

Authored by bjope on Jan 11 2021, 1:23 PM.

Details

Summary

In the spirit of commit fc783e91e0c0696e (llvm-svn: 248943) we
shouldn't vectorize stores of non-packed types (i.e. types that
has padding between consecutive variables in a scalar layout,
but being packed in a vector layout).

The problem was detected as a miscompile in a downstream test case.

Diff Detail

Event Timeline

bjope created this revision.Jan 11 2021, 1:23 PM
bjope requested review of this revision.Jan 11 2021, 1:23 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 11 2021, 1:23 PM

Looks good, but could you please precommit test (and rebase) to see actual output difference?

bjope updated this revision to Diff 316091.Jan 12 2021, 7:37 AM

Rebase after pre-committing the test case.

bjope added a comment.Jan 13 2021, 1:08 PM

Looks good, but could you please precommit test (and rebase) to see actual output difference?

Done. Still ok?

anton-afanasyev accepted this revision.Jan 13 2021, 3:52 PM

Yes, thanks.

This revision is now accepted and ready to land.Jan 13 2021, 3:52 PM