This is an archive of the discontinued LLVM Phabricator instance.

[GVN] Use m_LogicalAnd/Or to propagate equality from branch conditions
ClosedPublic

Authored by aqjune on Dec 27 2020, 10:49 AM.

Details

Summary

This patch makes GVN recognize select c1, c2, false as well as select c1, true, c2
branch condition and propagate equality from these.

See llvm.org/pr48353, D93065

Alive2 proof:
and: https://alive2.llvm.org/ce/z/EoRBup
or: https://alive2.llvm.org/ce/z/zvxEjW

Diff Detail

Event Timeline

aqjune created this revision.Dec 27 2020, 10:49 AM
aqjune requested review of this revision.Dec 27 2020, 10:49 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 27 2020, 10:49 AM
nikic accepted this revision.Dec 27 2020, 12:19 PM

LGTM

This revision is now accepted and ready to land.Dec 27 2020, 12:19 PM
aqjune edited the summary of this revision. (Show Details)Dec 27 2020, 12:28 PM