This is an archive of the discontinued LLVM Phabricator instance.

[SimpleLoopUnswitch] Add freeze if branch execs for partial unswitching.
ClosedPublic

Authored by fhahn on Apr 28 2022, 3:03 AM.

Details

Summary

We cannot skip the freezing the condition if the unswitched branch
executes, if the condition is a chain of ANDs/ORs. For example, if if we
have an AND %c1, %c2 with %c1 == undef and %c2 == 0, there would be no
branch on undef in the original code, but a branch on undef if we
unswitch %c1.

Diff Detail

Event Timeline

fhahn created this revision.Apr 28 2022, 3:03 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 28 2022, 3:03 AM
Herald added a subscriber: hiraditya. · View Herald Transcript
fhahn requested review of this revision.Apr 28 2022, 3:03 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 28 2022, 3:03 AM
nikic accepted this revision.May 5 2022, 12:56 AM

LGTM

This revision is now accepted and ready to land.May 5 2022, 12:56 AM
This revision was landed with ongoing or failed builds.May 5 2022, 1:44 AM
This revision was automatically updated to reflect the committed changes.