Remove PlaceSafepoints pass
authorPhilip Reames <preames@rivosinc.com>
Thu, 6 Oct 2022 15:40:09 +0000 (08:40 -0700)
committerPhilip Reames <listmail@philipreames.com>
Fri, 7 Oct 2022 18:51:00 +0000 (11:51 -0700)
commitcb66e123c6bc82a793300b6fb3ecbed79c58f557
treeb7003a47eed837f4c34aad7968dc3d6b7bd90a41
parentd3d84654467e03640a26fcae651a5d2d0e98541a
Remove PlaceSafepoints pass

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.

Differential Revision: https://reviews.llvm.org/D135371
17 files changed:
llvm/docs/GarbageCollection.rst
llvm/docs/Statepoints.rst
llvm/include/llvm/InitializePasses.h
llvm/include/llvm/Transforms/Scalar.h
llvm/lib/Transforms/Scalar/CMakeLists.txt
llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp [deleted file]
llvm/lib/Transforms/Scalar/Scalar.cpp
llvm/test/Transforms/PlaceSafepoints/basic.ll [deleted file]
llvm/test/Transforms/PlaceSafepoints/call-in-loop.ll [deleted file]
llvm/test/Transforms/PlaceSafepoints/finite-loops.ll [deleted file]
llvm/test/Transforms/PlaceSafepoints/libcall.ll [deleted file]
llvm/test/Transforms/PlaceSafepoints/memset.ll [deleted file]
llvm/test/Transforms/PlaceSafepoints/no-statepoints.ll [deleted file]
llvm/test/Transforms/PlaceSafepoints/split-backedge.ll [deleted file]
llvm/test/Transforms/PlaceSafepoints/statepoint-coreclr.ll [deleted file]
llvm/test/Transforms/PlaceSafepoints/statepoint-frameescape.ll [deleted file]
llvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn