This is an archive of the discontinued LLVM Phabricator instance.

[InstCombine] avoid infinite loop from partial undef vectors
ClosedPublic

Authored by spatel on Apr 7 2021, 9:06 AM.

Details

Summary

This fixes the examples from
D99674 and
https://llvm.org/PR49878

The matchers succeed on partial undef/poison vector constants, but the transform creates a full 'not' (-1) constant, so it would undo a demanded vector elements change triggered by the extractelement.

Diff Detail

Event Timeline

spatel created this revision.Apr 7 2021, 9:06 AM
spatel requested review of this revision.Apr 7 2021, 9:06 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 7 2021, 9:06 AM
lebedev.ri accepted this revision.Apr 7 2021, 9:08 AM
This revision is now accepted and ready to land.Apr 7 2021, 9:08 AM
This revision was landed with ongoing or failed builds.Apr 7 2021, 9:28 AM
This revision was automatically updated to reflect the committed changes.