This is an archive of the discontinued LLVM Phabricator instance.

[SLP,LV] Use poison constant vector for shufflevector/initial insertelement
ClosedPublic

Authored by aqjune on Jan 4 2021, 9:18 PM.

Details

Summary

This patch makes SLP and LV emit operations with initial vectors set to poison constant instead of undef.
This is a part of efforts for using poison vector instead of undef to represent "doesn't care" vector.
The goal is to make nice shufflevector optimizations valid that is currently incorrect due to the tricky interaction between undef and poison (see https://bugs.llvm.org/show_bug.cgi?id=44185 ).

Diff Detail

Event Timeline

aqjune created this revision.Jan 4 2021, 9:18 PM
aqjune requested review of this revision.Jan 4 2021, 9:18 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 4 2021, 9:18 PM
fhahn accepted this revision.Jan 4 2021, 11:17 PM

LGTM, as this is aligned with the overall direction we are going.

This revision is now accepted and ready to land.Jan 4 2021, 11:17 PM
This revision was landed with ongoing or failed builds.Jan 5 2021, 6:23 PM
This revision was automatically updated to reflect the committed changes.
aqjune added a comment.Jan 5 2021, 6:23 PM

LGTM, as this is aligned with the overall direction we are going.

Thanks :)