There is a desire to add support for probestack functionality on ARM (32-bit) targets for embedded applications, as the stack probe functionality can be used, along with a memory protection unit, to protect bare-metal applications from stack overflow issues (or to detect these issues so they can be acted upon).
See https://github.com/rust-embedded/wg/issues/460 for more information as to why this is useful
This diff provides the ability to use function annotations for the probestack and probe-stack-size to define the various probestack stubs and page protection size. This patch does not enable any of this functionality in clang, and is only targeting the LLVM library currently (as the final usecase for this patch is intended to be in rustc).
Implementation is largely based off the X86 implementation of stack probes. As such, I have tagged some of the reviewers from the original review (https://reviews.llvm.org/D68720) for this diff.
The no-stack-arg-probe FnAttribute is no longer present for Windows, which isn't desirable as the removal would imply a break in backwards compatibility.