This is an archive of the discontinued LLVM Phabricator instance.

Remove PlaceSafepoints pass
ClosedPublic

Authored by reames on Oct 6 2022, 9:08 AM.

Details

Summary

This patch was added way back in the beginning of the work which became the statepoint infrastructure. The idea was that safepoints could be inserted late in the optimization pipeline. This is true if the only concern is garbage collection, but this approach turned out to be incompatible with the requirement to also support deoptimization at safepoints.

In theory, this pass would still be quite useful for an AOT compiled language which wants to support garbage collection, but we have no known users, and haven't for over 5 years. Time to remove unused code. If someone wants to use this, restoring it would not be hard. The immediate motivation for removal is that this is one of the last passes remaining which hasn't been ported to the new pass manager and the (straight forward) work to do so is not justified for unused code.

Diff Detail

Event Timeline

reames created this revision.Oct 6 2022, 9:08 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 6 2022, 9:08 AM
reames requested review of this revision.Oct 6 2022, 9:08 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 6 2022, 9:08 AM
fhahn accepted this revision.Oct 7 2022, 9:04 AM
fhahn added a subscriber: fhahn.

LGTM. Cleaning up an unused pass seems reasonable to me. If anybody is still using it, it can be easily brought back + port it to the new pass manager.

This revision is now accepted and ready to land.Oct 7 2022, 9:04 AM
This revision was landed with ongoing or failed builds.Oct 7 2022, 11:51 AM
This revision was automatically updated to reflect the committed changes.
llvm/test/Transforms/PlaceSafepoints/split-backedge.ll