LLVM  7.0.0svn
Macros | Functions | Variables
StackMaps.cpp File Reference
#include "llvm/CodeGen/StackMaps.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Twine.h"
#include "llvm/CodeGen/AsmPrinter.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <iterator>
#include <utility>
Include dependency graph for StackMaps.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "stackmaps"
 

Functions

static unsigned getDwarfRegNum (unsigned Reg, const TargetRegisterInfo *TRI)
 Go up the super-register chain until we hit a valid dwarf register number. More...
 

Variables

static cl::opt< int > StackMapVersion ("stackmap-version", cl::init(3), cl::Hidden, cl::desc("Specify the stackmap encoding version (default = 3)"))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "stackmaps"

Definition at line 41 of file StackMaps.cpp.

Function Documentation

◆ getDwarfRegNum()

static unsigned getDwarfRegNum ( unsigned  Reg,
const TargetRegisterInfo TRI 
)
static

Go up the super-register chain until we hit a valid dwarf register number.

Definition at line 93 of file StackMaps.cpp.

References assert(), llvm::MapVector< KeyT, ValueT, MapType, VectorType >::begin(), llvm::StackMaps::Location::Constant, llvm::StackMaps::Location::ConstantIndex, llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createSub(), llvm::MCContext::createTempSymbol(), llvm::AsmPrinter::CurrentFnSym, llvm::AsmPrinter::CurrentFnSymForSize, llvm::StackMaps::Location::Direct, E, llvm::MapVector< KeyT, ValueT, MapType, VectorType >::end(), llvm::MapVector< KeyT, ValueT, MapType, VectorType >::find(), llvm::MachineFunction::getDataLayout(), llvm::MCRegisterInfo::getDwarfRegNum(), llvm::MachineFunction::getFrameInfo(), llvm::MachineOperand::getImm(), llvm::MCRegisterInfo::getLLVMRegNum(), llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::MCRegisterInfo::getNumRegs(), llvm::MachineOperand::getReg(), getReg(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineOperand::getRegLiveOut(), llvm::TargetRegisterInfo::getSpillSize(), llvm::MachineFrameInfo::getStackSize(), llvm::MachineOperand::getSubReg(), llvm::MCRegisterInfo::getSubRegIdxOffset(), llvm::MCRegisterInfo::getSubRegIndex(), llvm::MachineFunction::getSubtarget(), llvm::MachineFrameInfo::hasVarSizedObjects(), I, llvm::StackMaps::Location::Indirect, llvm::MapVector< KeyT, ValueT, MapType, VectorType >::insert(), llvm::MachineOperand::isImm(), llvm::MachineOperand::isImplicit(), llvm::isInt< 32 >(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isRegLiveOut(), llvm::MCRegisterInfo::isSuperRegister(), llvm::MCRegisterInfo::DiffListIterator::isValid(), llvm_unreachable, llvm::AArch64CC::LO, llvm::BitmaskEnumDetail::Mask(), llvm::max(), llvm::AsmPrinter::MF, MI, llvm::TargetRegisterInfo::needsStackRealignment(), llvm::MachineInstr::operands_begin(), llvm::AsmPrinter::OutStreamer, llvm::printReg(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), Reg, llvm::StackMaps::Location::Register, llvm::remove_if(), llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Size, llvm::sort(), TRI, UINT64_MAX, and llvm::StackMaps::Location::Unprocessed.

Referenced by llvm::MCRegisterInfo::getNumRegUnits().

Variable Documentation

◆ StackMapVersion

cl::opt<int> StackMapVersion("stackmap-version", cl::init(3), cl::Hidden, cl::desc("Specify the stackmap encoding version (default = 3)"))
static