LLVM API Documentation

Public Member Functions | Static Public Member Functions | Protected Attributes
llvm::MemSDNode Class Reference

Abstact virtual class for operations for memory operations. More...

#include <SelectionDAGNodes.h>

Inheritance diagram for llvm::MemSDNode:
Inheritance graph
[legend]
Collaboration diagram for llvm::MemSDNode:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MemSDNode (unsigned Opc, DebugLoc dl, SDVTList VTs, EVT MemoryVT, MachineMemOperand *MMO)
 MemSDNode (unsigned Opc, DebugLoc dl, SDVTList VTs, const SDValue *Ops, unsigned NumOps, EVT MemoryVT, MachineMemOperand *MMO)
bool readMem () const
bool writeMem () const
unsigned getOriginalAlignment () const
 Returns alignment and volatility of the memory access.
unsigned getAlignment () const
unsigned getRawSubclassData () const
bool isVolatile () const
bool isNonTemporal () const
bool isInvariant () const
AtomicOrdering getOrdering () const
SynchronizationScope getSynchScope () const
const ValuegetSrcValue () const
 Returns the SrcValue and offset that describes the location of the access.
int64_t getSrcValueOffset () const
const MDNodegetTBAAInfo () const
 Returns the TBAAInfo that describes the dereference.
const MDNodegetRanges () const
 Returns the Ranges that describes the dereference.
EVT getMemoryVT () const
 getMemoryVT - Return the type of the in-memory value.
MachineMemOperandgetMemOperand () const
const MachinePointerInfogetPointerInfo () const
unsigned getAddressSpace () const
 getAddressSpace - Return the address space for the associated pointer
void refineAlignment (const MachineMemOperand *NewMMO)
const SDValuegetChain () const
const SDValuegetBasePtr () const

Static Public Member Functions

static bool classof (const SDNode *N)

Protected Attributes

MachineMemOperandMMO
 MMO - Memory reference information.

Detailed Description

Abstact virtual class for operations for memory operations.

Definition at line 894 of file SelectionDAGNodes.h.


Constructor & Destructor Documentation

MemSDNode::MemSDNode ( unsigned  Opc,
DebugLoc  dl,
SDVTList  VTs,
EVT  MemoryVT,
MachineMemOperand MMO 
)
MemSDNode::MemSDNode ( unsigned  Opc,
DebugLoc  dl,
SDVTList  VTs,
const SDValue Ops,
unsigned  NumOps,
EVT  MemoryVT,
MachineMemOperand MMO 
)

Member Function Documentation

static bool llvm::MemSDNode::classof ( const SDNode N) [inline, static]
unsigned llvm::MemSDNode::getAddressSpace ( ) const [inline]

getAddressSpace - Return the address space for the associated pointer

Definition at line 963 of file SelectionDAGNodes.h.

References llvm::MachinePointerInfo::getAddrSpace(), and getPointerInfo().

unsigned llvm::MemSDNode::getAlignment ( ) const [inline]
const SDValue& llvm::MemSDNode::getBasePtr ( ) const [inline]
const SDValue& llvm::MemSDNode::getChain ( ) const [inline]
MachineMemOperand* llvm::MemSDNode::getMemOperand ( ) const [inline]

getMemOperand - Return a MachineMemOperand object describing the memory reference performed by operation.

Definition at line 956 of file SelectionDAGNodes.h.

References MMO.

Referenced by CombineBaseUpdate(), CombineVLDDUP(), createLoadLR(), createStoreLR(), llvm::SelectionDAG::getIndexedStore(), llvm::PPCTargetLowering::PerformDAGCombine(), ReplaceINTRINSIC_W_CHAIN(), and ReplaceLoadVector().

EVT llvm::MemSDNode::getMemoryVT ( ) const [inline]
AtomicOrdering llvm::MemSDNode::getOrdering ( ) const [inline]

Definition at line 934 of file SelectionDAGNodes.h.

References llvm::SDNode::SubclassData.

unsigned llvm::MemSDNode::getOriginalAlignment ( ) const [inline]

Returns alignment and volatility of the memory access.

Definition at line 914 of file SelectionDAGNodes.h.

References llvm::MachineMemOperand::getBaseAlignment(), and MMO.

const MachinePointerInfo& llvm::MemSDNode::getPointerInfo ( ) const [inline]
const MDNode* llvm::MemSDNode::getRanges ( ) const [inline]

Returns the Ranges that describes the dereference.

Definition at line 949 of file SelectionDAGNodes.h.

References llvm::MachineMemOperand::getRanges(), and MMO.

Referenced by llvm::SelectionDAG::ComputeMaskedBits().

unsigned llvm::MemSDNode::getRawSubclassData ( ) const [inline]

getRawSubclassData - Return the SubclassData value, which contains an encoding of the volatile flag, as well as bits used by subclasses. This function should only be used to compute a FoldingSetNodeID value.

Definition at line 924 of file SelectionDAGNodes.h.

References llvm::SDNode::SubclassData.

Referenced by AddNodeIDCustom(), and llvm::SelectionDAG::getIndexedStore().

const Value* llvm::MemSDNode::getSrcValue ( ) const [inline]

Returns the SrcValue and offset that describes the location of the access.

Definition at line 942 of file SelectionDAGNodes.h.

References llvm::MachineMemOperand::getValue(), and MMO.

Referenced by getCodeAddrSpace().

int64_t llvm::MemSDNode::getSrcValueOffset ( ) const [inline]

Definition at line 943 of file SelectionDAGNodes.h.

References llvm::MachineMemOperand::getOffset(), and MMO.

SynchronizationScope llvm::MemSDNode::getSynchScope ( ) const [inline]

Definition at line 937 of file SelectionDAGNodes.h.

References llvm::SDNode::SubclassData.

const MDNode* llvm::MemSDNode::getTBAAInfo ( ) const [inline]

Returns the TBAAInfo that describes the dereference.

Definition at line 946 of file SelectionDAGNodes.h.

References llvm::MachineMemOperand::getTBAAInfo(), and MMO.

Referenced by PerformSTORECombine().

bool llvm::MemSDNode::isInvariant ( ) const [inline]
bool llvm::MemSDNode::isNonTemporal ( ) const [inline]
bool llvm::MemSDNode::isVolatile ( ) const [inline]
bool llvm::MemSDNode::readMem ( ) const [inline]

Definition at line 910 of file SelectionDAGNodes.h.

References llvm::MachineMemOperand::isLoad(), and MMO.

void llvm::MemSDNode::refineAlignment ( const MachineMemOperand NewMMO) [inline]

refineAlignment - Update this MemSDNode's MachineMemOperand information to reflect the alignment of NewMMO, if it has a greater alignment. This must only be used when the new alignment applies to all users of this MachineMemOperand.

Definition at line 971 of file SelectionDAGNodes.h.

References MMO, and llvm::MachineMemOperand::refineAlignment().

bool llvm::MemSDNode::writeMem ( ) const [inline]

Definition at line 911 of file SelectionDAGNodes.h.

References llvm::MachineMemOperand::isStore(), and MMO.


Member Data Documentation


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