This is an archive of the discontinued LLVM Phabricator instance.

[JumpThreading] Let SimplifyPartiallyRedundantLoad look into freeze
ClosedPublic

Authored by aqjune on Jul 30 2020, 6:59 AM.

Details

Summary

This patch allows SimplifyPartiallyRedundantLoad work when
the branch condition was frozen.

Diff Detail

Event Timeline

aqjune created this revision.Jul 30 2020, 6:59 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 30 2020, 6:59 AM
aqjune requested review of this revision.Jul 30 2020, 6:59 AM
efriedma added inline comments.Jul 30 2020, 12:57 PM
llvm/lib/Transforms/Scalar/JumpThreading.cpp
1174

Am I understanding correctly, that SimplifyPartiallyRedundantLoad is actually a legal transform for arbitrary load instructions, but we have a heuristic so we only perform it for "important" instructions?

aqjune added inline comments.Jul 30 2020, 5:10 PM
llvm/lib/Transforms/Scalar/JumpThreading.cpp
1174

Yes, that is correct. Since freeze is still there, it does not make the code more undefined.

This revision is now accepted and ready to land.Jul 30 2020, 5:21 PM
aqjune updated this revision to Diff 282141.Jul 30 2020, 11:27 PM

Leave pre-load.ll's diff only

This revision was landed with ongoing or failed builds.Jul 30 2020, 11:28 PM
This revision was automatically updated to reflect the committed changes.

Since this can be tested independent from D84940, it is landed early