This is an archive of the discontinued LLVM Phabricator instance.

[InstSimplify] Don't fold vectors of partial undef in SimplifySelectInst if the non-undef element value might produce poison
ClosedPublic

Authored by craig.topper on Jul 8 2020, 4:41 PM.

Details

Summary

We can't fold to the non-undef value unless we know it isn't poison. So check each element with isGuaranteedNotToBeUndefOrPoison. This currently rules out all constant expressions.

Diff Detail

Event Timeline

craig.topper created this revision.Jul 8 2020, 4:41 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 8 2020, 4:41 PM
Herald added a subscriber: hiraditya. · View Herald Transcript
This revision is now accepted and ready to land.Jul 9 2020, 1:15 AM
This revision was automatically updated to reflect the committed changes.