This bug is reported at : https://bugs.llvm.org/show_bug.cgi?id=52518
According to the Alive2, https://alive2.llvm.org/ce/z/gLrYPk, the transformation seems to be correct and -O2/-O3 does not do it.
Differential D114339
[InstCombine] simplify (~A | B) ^ A --> ~( A & B) MehrHeidar on Nov 21 2021, 1:37 PM. Authored by
Details This bug is reported at : https://bugs.llvm.org/show_bug.cgi?id=52518 According to the Alive2, https://alive2.llvm.org/ce/z/gLrYPk, the transformation seems to be correct and -O2/-O3 does not do it.
Diff Detail
Event Timeline
Comment Actions
Side note: @rampitec recently added a matcher that takes a binary opcode as an input. It probably doesn't make sense here, but it's something to think about if we're trying to make logic folds more regular/predictable ('DeMorganize' folds so we handle patterns where 'and' and 'or' operations are swapped). Comment Actions Thanks for you suggestion.
|
clang-format: please reformat the code