This is an archive of the discontinued LLVM Phabricator instance.

[LoopUnrollAndJam] Forget scalar evolution dispositions. Do no explicitly forget subloop.
ClosedPublic

Authored by caojoshua on Jan 3 2023, 11:02 PM.

Details

Summary

Fixes https://github.com/llvm/llvm-project/issues/58454

Scalar evolution dispositions need to be forgotten to pass verification.

We do not need to forget the subloop since it is automatically forgotten
when forgetting the parent loop.

Diff Detail

Event Timeline

caojoshua created this revision.Jan 3 2023, 11:02 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 3 2023, 11:02 PM
caojoshua published this revision for review.Jan 3 2023, 11:04 PM
caojoshua added reviewers: fhahn, dmgreen.
Herald added a project: Restricted Project. · View Herald TranscriptJan 3 2023, 11:04 PM
caojoshua updated this revision to Diff 486181.Jan 4 2023, 12:23 AM

Add -verify-scev to test

fhahn accepted this revision.Jan 4 2023, 7:02 AM

LGTM, thanks!

llvm/test/Transforms/LoopUnrollAndJam/se-forget.ll
2

IIUC print<scalar-evolution> is only needed to populate the SCEV caches. Might be good to ad d a note.

This revision is now accepted and ready to land.Jan 4 2023, 7:02 AM
caojoshua updated this revision to Diff 486434.Jan 4 2023, 4:51 PM

Added note that print<scalar-evolution> is used to populate scev caches

Added suggested note that print<scalar-evolution> is needed to populate scev caches. I don't have commit access right now. I sent a request today, but can I get help merging this for now?