This is an archive of the discontinued LLVM Phabricator instance.

[NewPM] Verify LoopAnalysisResults after a loop pass
ClosedPublic

Authored by aeubanks on Mar 17 2021, 12:23 PM.

Details

Summary

All loop passes should preserve all analyses in LoopAnalysisResults. Add
checks for those.

Note that due to PR44815, we don't check LAR's ScalarEvolution.
Apparently calling SE.verify() can change its results.

Diff Detail

Event Timeline

aeubanks created this revision.Mar 17 2021, 12:23 PM
aeubanks requested review of this revision.Mar 17 2021, 12:23 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 17 2021, 12:23 PM
asbirlea accepted this revision.Mar 17 2021, 12:55 PM

Seems reasonable to verify MSSA unconditionally at this point but if the debug build becomes too overloaded, it can be put under the VerifyMemorySSA flag, like in other loop passes.

This revision is now accepted and ready to land.Mar 17 2021, 12:55 PM
This revision was automatically updated to reflect the committed changes.