This is an archive of the discontinued LLVM Phabricator instance.

Replace un-demanded values with undef in BDCE.
AbandonedPublic

Authored by resistor on Jan 8 2023, 9:29 PM.

Details

Reviewers
None
Summary

Unit test changes spot-verified with alive2. As expected, the
transformation is NOT valid with poison.

Diff Detail

Unit TestsFailed

Event Timeline

resistor created this revision.Jan 8 2023, 9:29 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 8 2023, 9:29 PM
resistor requested review of this revision.Jan 8 2023, 9:29 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 8 2023, 9:29 PM
nlopes added a comment.Jan 9 2023, 3:07 AM

I must say that this patch is a bit annoying :)
We are trying to remove undef, and you're adding yet another use.
It's true we can't use poison here. The alternative in the no-undef world is 'freeze poison'. Or just leave the zero there.
Is this change important? If not, I would prefer to not do it, as we'll have to revert it when removing undef (hopefully later this year).
Thanks!

nikic added a subscriber: nikic.Jan 9 2023, 3:33 AM

Agree with @nlopes. I think we should just drop the FIXME here and explain why we're using zero. Using freeze undef is unlikely to be worthwhile, especially as it will get folded to 0 most of the time anyway.

resistor abandoned this revision.Jan 9 2023, 7:16 PM