Is there an equivalent of `absl::MakeCleanUp` in LLVM codebase

Hi,
The absl::MakeCleanUp function [1] implements the scope guard idiom, invoking the contained
callback’s operator()() && on scope exit. Is there an equivalent of this function in LLVM codebase?

For experimenting/debugging purpose I might just use ABSL repo as dependency but still wonder if there is a implementation of this without adding additional dependencies.

[1] abseil-cpp/cleanup.h at d423ac0ef052bd7b6fc53fd1a026a44e1713d993 · abseil/abseil-cpp · GitHub

There is ScopeExit (created via llvm::make_scope_exit), which looks similar in purpose.