This is an archive of the discontinued LLVM Phabricator instance.

[InstCombine] (b & ~a & ~c) | ~(a | b) --> ~((b & c) | a)
AbandonedPublic

Authored by rampitec on Dec 23 2021, 1:21 PM.

Details

Reviewers
spatel
Summary

And inverted case (b | ~a | ~c) & ~(a & b) --> ~((b | c) & a).
This is demorganed version of the same expression with LHS
(b & ~(a | c)), where LHS was not demorganed due to extra
uses.

Diff Detail

Event Timeline

rampitec created this revision.Dec 23 2021, 1:21 PM
rampitec requested review of this revision.Dec 23 2021, 1:21 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 23 2021, 1:21 PM

A side note: this small change fully or partially simplifies 28 out of original 255 ternary cases.

rampitec abandoned this revision.Feb 3 2022, 2:04 PM