[PATCH] D21115: Add a callee-saved register verifier to LLVM
Sanjoy Das via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 7 18:38:51 PDT 2016
sanjoy created this revision.
sanjoy added reviewers: qcolombet, MatzeB, dblaikie, atrick.
sanjoy added a subscriber: llvm-commits.
Herald added a subscriber: mcrosier.
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
http://reviews.llvm.org/D21115
Files:
include/llvm/ADT/APInt.h
include/llvm/CodeGen/Passes.h
include/llvm/InitializePasses.h
include/llvm/Target/TargetInstrInfo.h
lib/CodeGen/CMakeLists.txt
lib/CodeGen/CodeGen.cpp
lib/CodeGen/TargetPassConfig.cpp
lib/CodeGen/VerifyCalleeSavedRegs.cpp
lib/Support/APInt.cpp
lib/Target/X86/X86InstrInfo.cpp
lib/Target/X86/X86InstrInfo.h
test/CodeGen/X86/verify-csrs.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21115.59985.patch
Type: text/x-patch
Size: 27668 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160608/3272c5bf/attachment.bin>
More information about the llvm-commits
mailing list