LLVM  4.0.0
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
llvm::MachinePointerInfo Struct Reference

This class contains a discriminated union of information about pointers in memory operands, relating them back to LLVM IR or to virtual locations (such as frame indices) that are exposed during codegen. More...

#include <MachineMemOperand.h>

Collaboration diagram for llvm::MachinePointerInfo:
[legend]

Public Member Functions

 MachinePointerInfo (const Value *v=nullptr, int64_t offset=0)
 
 MachinePointerInfo (const PseudoSourceValue *v, int64_t offset=0)
 
MachinePointerInfo getWithOffset (int64_t O) const
 
unsigned getAddrSpace () const
 Return the LLVM IR address space number that this pointer points into. More...
 

Static Public Member Functions

static MachinePointerInfo getConstantPool (MachineFunction &MF)
 Return a MachinePointerInfo record that refers to the constant pool. More...
 
static MachinePointerInfo getFixedStack (MachineFunction &MF, int FI, int64_t Offset=0)
 Return a MachinePointerInfo record that refers to the specified FrameIndex. More...
 
static MachinePointerInfo getJumpTable (MachineFunction &MF)
 Return a MachinePointerInfo record that refers to a jump table entry. More...
 
static MachinePointerInfo getGOT (MachineFunction &MF)
 Return a MachinePointerInfo record that refers to a GOT entry. More...
 
static MachinePointerInfo getStack (MachineFunction &MF, int64_t Offset)
 Stack pointer relative access. More...
 

Public Attributes

PointerUnion< const Value
*, const PseudoSourceValue * > 
V
 This is the IR pointer value for the access, or it is null if unknown. More...
 
int64_t Offset
 Offset - This is an offset from the base Value*. More...
 

Detailed Description

This class contains a discriminated union of information about pointers in memory operands, relating them back to LLVM IR or to virtual locations (such as frame indices) that are exposed during codegen.

Definition at line 39 of file MachineMemOperand.h.

Constructor & Destructor Documentation

llvm::MachinePointerInfo::MachinePointerInfo ( const Value v = nullptr,
int64_t  offset = 0 
)
inlineexplicit

Definition at line 48 of file MachineMemOperand.h.

Referenced by getWithOffset().

llvm::MachinePointerInfo::MachinePointerInfo ( const PseudoSourceValue v,
int64_t  offset = 0 
)
inlineexplicit

Definition at line 51 of file MachineMemOperand.h.

Member Function Documentation

unsigned MachinePointerInfo::getAddrSpace ( ) const
MachinePointerInfo MachinePointerInfo::getConstantPool ( MachineFunction MF)
static

Return a MachinePointerInfo record that refers to the constant pool.

getConstantPool - Return a MachinePointerInfo record that refers to the constant pool.

Definition at line 519 of file MachineInstr.cpp.

Referenced by llvm::X86TargetLowering::BuildFILD(), and LowerVectorBroadcast().

MachinePointerInfo MachinePointerInfo::getFixedStack ( MachineFunction MF,
int  FI,
int64_t  Offset = 0 
)
static

Return a MachinePointerInfo record that refers to the specified FrameIndex.

getFixedStack - Return a MachinePointerInfo record that refers to the the specified FrameIndex.

Definition at line 525 of file MachineInstr.cpp.

Referenced by llvm::addFrameReference(), llvm::X86TargetLowering::BuildFILD(), llvm::TargetLoweringBase::emitPatchPoint(), llvm::X86FrameLowering::emitPrologue(), EmitTailCallStoreFPAndRetAddr(), EmitTailCallStoreRetAddr(), llvm::TargetInstrInfo::foldMemoryOperand(), getAddressForMemoryInput(), getFrameIndexMMO(), llvm::MipsInstrInfo::GetMemOperand(), IncomingArgHandler::getStackAddress(), InferPointerInfo(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::AVRInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::PPCInstrInfo::loadRegFromStackSlot(), llvm::SystemZTargetLowering::LowerCall(), llvm::TargetLowering::LowerCallTo(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::SIRegisterInfo::restoreSGPR(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), spillIncomingStatepointValue(), llvm::SIRegisterInfo::spillSGPR(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::PPCInstrInfo::storeRegToStackSlot(), StoreTailCallArgumentsToStackSlot(), and llvm::SelectionDAGBuilder::visitSPDescriptorParent().

MachinePointerInfo MachinePointerInfo::getGOT ( MachineFunction MF)
static
MachinePointerInfo MachinePointerInfo::getJumpTable ( MachineFunction MF)
static

Return a MachinePointerInfo record that refers to a jump table entry.

Definition at line 530 of file MachineInstr.cpp.

MachinePointerInfo MachinePointerInfo::getStack ( MachineFunction MF,
int64_t  Offset 
)
static

Stack pointer relative access.

Definition at line 538 of file MachineInstr.cpp.

Referenced by OutgoingArgHandler::getStackAddress(), and llvm::HexagonTargetLowering::LowerCall().

MachinePointerInfo llvm::MachinePointerInfo::getWithOffset ( int64_t  O) const
inline

Member Data Documentation

int64_t llvm::MachinePointerInfo::Offset

Offset - This is an offset from the base Value*.

Definition at line 46 of file MachineMemOperand.h.

Referenced by getWithOffset().

PointerUnion<const Value *, const PseudoSourceValue *> llvm::MachinePointerInfo::V

This is the IR pointer value for the access, or it is null if unknown.

If this is null, then the access is to a pointer in the default address space.

Definition at line 43 of file MachineMemOperand.h.

Referenced by llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getStore(), llvm::SelectionDAG::getTruncStore(), getWithOffset(), and Query().


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