[PATCH] D112955: [InstCombine] (~(a | b) & c) | ~(c | (a ^ b)) -> ~((a | b) & (c | (b ^ a)))

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 29 09:02:57 PST 2021


spatel added a comment.

In D112955#3152180 <https://reviews.llvm.org/D112955#3152180>, @rampitec wrote:

> The patch was reverted since the flipped case produces more undefined result. I am not sure how did that sneak, but I am reopening it and limiting to only 'or' case.

Ah, that is unfortunate. We may need to freeze the inputs if we're changing the number/order of uses:
https://alive2.llvm.org/ce/z/JXQ2Rn

I think it's worth leaving the tests in place in case we find some way around that limitation. Also, add a code comment about undef, so we remember why the 'and' sibling is not included.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112955/new/

https://reviews.llvm.org/D112955



More information about the llvm-commits mailing list