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, unsigned Order, DebugLoc dl, SDVTList VTs, EVT MemoryVT, MachineMemOperand *MMO)
 MemSDNode (unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs, ArrayRef< SDValue > Ops, 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
int64_t getSrcValueOffset () const
AAMDNodes getAAInfo () const
 Returns the AA info 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 1064 of file SelectionDAGNodes.h.


Constructor & Destructor Documentation

MemSDNode::MemSDNode ( unsigned  Opc,
unsigned  Order,
DebugLoc  dl,
SDVTList  VTs,
EVT  MemoryVT,
MachineMemOperand MMO 
)
MemSDNode::MemSDNode ( unsigned  Opc,
unsigned  Order,
DebugLoc  dl,
SDVTList  VTs,
ArrayRef< SDValue Ops,
EVT  MemoryVT,
MachineMemOperand MMO 
)

Member Function Documentation

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

Returns the AA info that describes the dereference.

Definition at line 1115 of file SelectionDAGNodes.h.

Referenced by ExpandUnalignedLoad(), ExpandUnalignedStore(), and PerformSTORECombine().

getAddressSpace - Return the address space for the associated pointer

Definition at line 1132 of file SelectionDAGNodes.h.

Referenced by ExpandUnalignedStore(), llvm::AMDGPUTargetLowering::LowerLOAD(), llvm::AMDGPUTargetLowering::LowerSTORE(), and llvm::SITargetLowering::PerformDAGCombine().

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

Definition at line 1104 of file SelectionDAGNodes.h.

References llvm::SDNode::SubclassData.

Returns alignment and volatility of the memory access.

Definition at line 1084 of file SelectionDAGNodes.h.

Returns the Ranges that describes the dereference.

Definition at line 1118 of file SelectionDAGNodes.h.

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

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 1094 of file SelectionDAGNodes.h.

References llvm::SDNode::SubclassData.

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

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

Definition at line 1112 of file SelectionDAGNodes.h.

Definition at line 1107 of file SelectionDAGNodes.h.

References llvm::SDNode::SubclassData.

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

Definition at line 1080 of file SelectionDAGNodes.h.

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 1140 of file SelectionDAGNodes.h.

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

Definition at line 1081 of file SelectionDAGNodes.h.


Member Data Documentation

MMO - Memory reference information.

Definition at line 1071 of file SelectionDAGNodes.h.

Referenced by MemSDNode().


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