This change adds a pass to LLVM to (optionally) generate code around
function calls to check, at runtime, that the function preserves the
registers it is expected to preserve. The motivation for this was
covered on the list a couple of weeks ago [0], but generally the
intention is to support CSR verification around calls to hand-written
assembly stubs that are common in managed runtimes.
I'm not familiar with much of the areas of LLVM I've touched in this
patch, so a careful review will be appreciated.
[0]: http://lists.llvm.org/pipermail/llvm-dev/2016-May/099693.html
Could you sort that call in alphabetical order?
I know this is not the case for the last few calls, but really, it should be the case for all of them.