This is an archive of the discontinued LLVM Phabricator instance.

handling invalidated passes in change printers
Needs ReviewPublic

Authored by jamieschmeiser on Sep 9 2022, 1:45 PM.

Details

Reviewers
aeubanks
Summary

The various change printers do not handle invalidated passes, even though
significant changes may be made to the IR by a pass that invalidates itself.
The reason was that the IR, being invalidated, was not available after the
pass.

Handle this by saving the module and a list of the functions in the module, on
the IR stack used by the print-changed functions, along with representations of
the functions. When a pass is invalidated, start with the saved module and create
the after representations of the now existing functions, matching and comparing them
with the saved before functions.

Diff Detail

Event Timeline

jamieschmeiser created this revision.Sep 9 2022, 1:45 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 9 2022, 1:45 PM
Herald added a subscriber: hiraditya. · View Herald Transcript
jamieschmeiser requested review of this revision.Sep 9 2022, 1:45 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 9 2022, 1:45 PM