LLVM  3.7.0
Classes | Public Types | Public Member Functions | List of all members
llvm::StackMaps Class Reference

#include <StackMaps.h>

Classes

struct  LiveOutReg
 
struct  Location
 

Public Types

enum  OpType { DirectMemRefOp, IndirectMemRefOp, ConstantOp }
 

Public Member Functions

 StackMaps (AsmPrinter &AP)
 
void reset ()
 
void recordStackMap (const MachineInstr &MI)
 Generate a stackmap record for a stackmap instruction. More...
 
void recordPatchPoint (const MachineInstr &MI)
 Generate a stackmap record for a patchpoint instruction. More...
 
void recordStatepoint (const MachineInstr &MI)
 Generate a stackmap record for a statepoint instruction. More...
 
void serializeToStackMapSection ()
 If there is any stack map data, create a stack map section and serialize the map info into it. More...
 

Detailed Description

Definition at line 130 of file StackMaps.h.

Member Enumeration Documentation

Enumerator
DirectMemRefOp 
IndirectMemRefOp 
ConstantOp 

Definition at line 164 of file StackMaps.h.

Constructor & Destructor Documentation

StackMaps::StackMaps ( AsmPrinter AP)

Definition at line 72 of file StackMaps.cpp.

References llvm_unreachable, and StackMapVersion.

Member Function Documentation

void StackMaps::recordPatchPoint ( const MachineInstr MI)
void StackMaps::recordStackMap ( const MachineInstr MI)

Generate a stackmap record for a stackmap instruction.

MI must be a raw STACKMAP, not a PATCHPOINT.

Definition at line 342 of file StackMaps.cpp.

References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::operands_begin(), llvm::MachineInstr::operands_end(), and llvm::TargetOpcode::STACKMAP.

void StackMaps::recordStatepoint ( const MachineInstr MI)

Generate a stackmap record for a statepoint instruction.

Definition at line 371 of file StackMaps.cpp.

References llvm::MachineInstr::getOpcode(), llvm::MachineInstr::operands_begin(), llvm::MachineInstr::operands_end(), and llvm::TargetOpcode::STATEPOINT.

void llvm::StackMaps::reset ( )
inline
void StackMaps::serializeToStackMapSection ( )

If there is any stack map data, create a stack map section and serialize the map info into it.

Serialize the stackmap data.

This clears the stack map data structures afterwards.

Definition at line 518 of file StackMaps.cpp.

References llvm::MCStreamer::AddBlankLine(), llvm::dbgs(), DEBUG, llvm::MCStreamer::EmitLabel(), llvm::MCContext::getObjectFileInfo(), llvm::MCContext::getOrCreateSymbol(), llvm::MCObjectFileInfo::getStackMapSection(), llvm::AsmPrinter::OutStreamer, and llvm::MCStreamer::SwitchSection().

Referenced by llvm::X86AsmPrinter::EmitEndOfAsmFile().


The documentation for this class was generated from the following files: