|
LLVM
3.7.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 130 of file StackMaps.h.
| Enumerator | |
|---|---|
| DirectMemRefOp | |
| IndirectMemRefOp | |
| ConstantOp | |
Definition at line 164 of file StackMaps.h.
| StackMaps::StackMaps | ( | AsmPrinter & | AP | ) |
Definition at line 72 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 350 of file StackMaps.cpp.
References llvm::MachineInstr::getOpcode(), llvm::PatchPointOpers::IDPos, llvm::PatchPointOpers::NArgPos, llvm::MachineInstr::operands_begin(), llvm::MachineInstr::operands_end(), llvm::TargetOpcode::PATCHPOINT, 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 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.
|
inline |
Definition at line 168 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 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().
1.8.6