|
LLVM
4.0.0
|
#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... | |
Definition at line 181 of file StackMaps.h.
| Enumerator | |
|---|---|
| DirectMemRefOp | |
| IndirectMemRefOp | |
| ConstantOp | |
Definition at line 215 of file StackMaps.h.
| StackMaps::StackMaps | ( | AsmPrinter & | AP | ) |
Definition at line 76 of file StackMaps.cpp.
References llvm_unreachable, and StackMapVersion.
| void StackMaps::recordPatchPoint | ( | const MachineInstr & | MI | ) |
Generate a stackmap record for a patchpoint instruction.
Definition at line 361 of file StackMaps.cpp.
References assert(), llvm::MachineInstr::getOpcode(), i, llvm::MachineInstr::operands_begin(), llvm::MachineInstr::operands_end(), and llvm::StackMaps::Location::Register.
| 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 352 of file StackMaps.cpp.
References assert(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::PatchPointOpers::IDPos, llvm::MachineInstr::operands_begin(), and llvm::MachineInstr::operands_end().
| void StackMaps::recordStatepoint | ( | const MachineInstr & | MI | ) |
Generate a stackmap record for a statepoint instruction.
Definition at line 381 of file StackMaps.cpp.
References assert(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::operands_begin(), and llvm::MachineInstr::operands_end().
|
inline |
Definition at line 219 of file StackMaps.h.
References llvm::MapVector< KeyT, ValueT, MapType, VectorType >::clear().
| 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 531 of file StackMaps.cpp.
References llvm::MCStreamer::AddBlankLine(), assert(), 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().
1.8.6