diff options
author | Juergen Ributzka <juergen@apple.com> | 2014-05-01 22:21:27 +0000 |
---|---|---|
committer | Juergen Ributzka <juergen@apple.com> | 2014-05-01 22:21:27 +0000 |
commit | a6775526e4acd0cb2d3369c449145458aa0ad504 (patch) | |
tree | fe9873219906925f60834bcaf65d13cd3a78969e /include/llvm/CodeGen/StackMaps.h | |
parent | 23fc1727e755feb734e500214ca193b5d01007ff (diff) | |
download | llvm-a6775526e4acd0cb2d3369c449145458aa0ad504.tar.gz llvm-a6775526e4acd0cb2d3369c449145458aa0ad504.tar.bz2 llvm-a6775526e4acd0cb2d3369c449145458aa0ad504.tar.xz |
[Stackmaps] Refactor serialization code. No functional change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207804 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/StackMaps.h')
-rw-r--r-- | include/llvm/CodeGen/StackMaps.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/StackMaps.h b/include/llvm/CodeGen/StackMaps.h index 67b815f9dd..b52240ce66 100644 --- a/include/llvm/CodeGen/StackMaps.h +++ b/include/llvm/CodeGen/StackMaps.h @@ -21,6 +21,7 @@ namespace llvm { class AsmPrinter; class MCExpr; +class MCStreamer; /// \brief MI-level patchpoint operands. /// @@ -131,6 +132,8 @@ public: void serializeToStackMapSection(); private: + const char *WSMP = "Stack Maps: "; + typedef SmallVector<Location, 8> LocationVec; typedef SmallVector<LiveOutReg, 8> LiveOutVec; typedef MapVector<int64_t, int64_t> ConstantPool; @@ -177,6 +180,18 @@ private: MachineInstr::const_mop_iterator MOI, MachineInstr::const_mop_iterator MOE, bool recordResult = false); + + /// \brief Emit the stackmap header. + void emitStackmapHeader(MCStreamer &OS); + + /// \brief Emit the function frame record for each function. + void emitFunctionFrameRecords(MCStreamer &OS); + + /// \brief Emit the constant pool. + void emitConstantPoolEntries(MCStreamer &OS); + + /// \brief Emit the callsite info for each stackmap/patchpoint intrinsic call. + void emitCallsiteEntries(MCStreamer &OS, const TargetRegisterInfo *TRI); }; } |