mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-25 21:18:19 +00:00
[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
This commit is contained in:
@@ -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);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user