This is an archive of the discontinued LLVM Phabricator instance.

[LegacyPassManager] Deprecate the BasicBlockPass/Manager.
ClosedPublic

Authored by asbirlea on Sep 30 2019, 10:58 AM.

Details

Summary

The BasicBlockManager is potentially broken and should not be used.
Replace all uses of the BasicBlockPass with a FunctionBlockPass+loop on
blocks.

Diff Detail

Repository
rL LLVM

Event Timeline

asbirlea created this revision.Sep 30 2019, 10:58 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 30 2019, 10:58 AM
tra accepted this revision.Sep 30 2019, 11:19 AM
tra added a subscriber: tra.

LGTM.

include/llvm/Pass.h
309–311 ↗(On Diff #222462)

Would it make sense to add an __attribute__((__deprected__...)) to relevant functions?

This revision is now accepted and ready to land.Sep 30 2019, 11:19 AM
asbirlea marked an inline comment as done.Sep 30 2019, 12:22 PM
asbirlea added inline comments.
include/llvm/Pass.h
309–311 ↗(On Diff #222462)

I tried to add the attribute to the class, but there are still the Printer passes which I can only remove, not update. So I resigned myself to only add a comment in this cleanup and have another one later to delete unnecessary code.

tra added inline comments.Sep 30 2019, 12:31 PM
include/llvm/Pass.h
309–311 ↗(On Diff #222462)

SGTM.

This revision was automatically updated to reflect the committed changes.