|
LLVM
3.7.0
|
This SDNode is used for target intrinsics that touch memory and need an associated MachineMemOperand. More...
#include <SelectionDAGNodes.h>
Public Member Functions | |
| MemIntrinsicSDNode (unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs, ArrayRef< SDValue > Ops, EVT MemoryVT, MachineMemOperand *MMO) | |
Public Member Functions inherited from llvm::MemSDNode | |
| 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. More... | |
| unsigned | getAlignment () const |
| unsigned | getRawSubclassData () const |
| Return the SubclassData value, which contains an encoding of the volatile flag, as well as bits used by subclasses. More... | |
| 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. More... | |
| const MDNode * | getRanges () const |
| Returns the Ranges that describes the dereference. More... | |
| EVT | getMemoryVT () const |
| Return the type of the in-memory value. More... | |
| MachineMemOperand * | getMemOperand () const |
| Return a MachineMemOperand object describing the memory reference performed by operation. More... | |
| const MachinePointerInfo & | getPointerInfo () const |
| unsigned | getAddressSpace () const |
| Return the address space for the associated pointer. More... | |
| void | refineAlignment (const MachineMemOperand *NewMMO) |
| Update this MemSDNode's MachineMemOperand information to reflect the alignment of NewMMO, if it has a greater alignment. More... | |
| const SDValue & | getChain () const |
| const SDValue & | getBasePtr () const |
Public Member Functions inherited from llvm::SDNode | |
| unsigned | getOpcode () const |
| Return the SelectionDAG opcode value for this node. More... | |
| bool | isTargetOpcode () const |
| Test if this node has a target-specific opcode (in the <target>ISD namespace). More... | |
| bool | isTargetMemoryOpcode () const |
| Test if this node has a target-specific memory-referencing opcode (in the <target>ISD namespace and greater than FIRST_TARGET_MEMORY_OPCODE). More... | |
| bool | isMemIntrinsic () const |
| Test if this node is a memory intrinsic (with valid pointer information). More... | |
| bool | isMachineOpcode () const |
| Test if this node has a post-isel opcode, directly corresponding to a MachineInstr opcode. More... | |
| unsigned | getMachineOpcode () const |
| This may only be called if isMachineOpcode returns true. More... | |
| bool | getHasDebugValue () const |
| Get this bit. More... | |
| void | setHasDebugValue (bool b) |
| Set this bit. More... | |
| bool | use_empty () const |
| Return true if there are no uses of this node. More... | |
| bool | hasOneUse () const |
| Return true if there is exactly one use of this node. More... | |
| size_t | use_size () const |
| Return the number of uses of this node. More... | |
| int | getNodeId () const |
| Return the unique node id. More... | |
| void | setNodeId (int Id) |
| Set unique node id. More... | |
| unsigned | getIROrder () const |
| Return the node ordering. More... | |
| void | setIROrder (unsigned Order) |
| Set the node ordering. More... | |
| const DebugLoc & | getDebugLoc () const |
| Return the source location info. More... | |
| void | setDebugLoc (DebugLoc dl) |
| Set source location info. More... | |
| use_iterator | use_begin () const |
| Provide iteration support to walk over all uses of an SDNode. More... | |
| iterator_range< use_iterator > | uses () |
| iterator_range< use_iterator > | uses () const |
| bool | hasNUsesOfValue (unsigned NUses, unsigned Value) const |
| Return true if there are exactly NUSES uses of the indicated value. More... | |
| bool | hasAnyUseOfValue (unsigned Value) const |
| Return true if there are any use of the indicated value. More... | |
| bool | isOnlyUserOf (const SDNode *N) const |
| Return true if this node is the only use of N. More... | |
| bool | isOperandOf (const SDNode *N) const |
| Return true if this node is an operand of N. More... | |
| bool | isPredecessorOf (const SDNode *N) const |
| Return true if this node is a predecessor of N. More... | |
| bool | hasPredecessor (const SDNode *N) const |
| Return true if N is a predecessor of this node. More... | |
| bool | hasPredecessorHelper (const SDNode *N, SmallPtrSetImpl< const SDNode * > &Visited, SmallVectorImpl< const SDNode * > &Worklist) const |
| Return true if N is a predecessor of this node. More... | |
| unsigned | getNumOperands () const |
| Return the number of values used by this operation. More... | |
| uint64_t | getConstantOperandVal (unsigned Num) const |
| Helper method returns the integer value of a ConstantSDNode operand. More... | |
| const SDValue & | getOperand (unsigned Num) const |
| op_iterator | op_begin () const |
| op_iterator | op_end () const |
| ArrayRef< SDUse > | ops () const |
| iterator_range< value_op_iterator > | op_values () const |
| SDVTList | getVTList () const |
| SDNode * | getGluedNode () const |
| If this node has a glue operand, return the node to which the glue operand points. More... | |
| const SDNode * | getGluedMachineNode () const |
| SDNode * | getGluedUser () const |
| If this node has a glue value with a user, return the user (there is at most one). More... | |
| unsigned | getNumValues () const |
| Return the number of values defined/returned by this operator. More... | |
| EVT | getValueType (unsigned ResNo) const |
| Return the type of a specified result. More... | |
| MVT | getSimpleValueType (unsigned ResNo) const |
| Return the type of a specified result as a simple type. More... | |
| unsigned | getValueSizeInBits (unsigned ResNo) const |
| Returns MVT::getSizeInBits(getValueType(ResNo)). More... | |
| value_iterator | value_begin () const |
| value_iterator | value_end () const |
| std::string | getOperationName (const SelectionDAG *G=nullptr) const |
| Return the opcode of this operation for printing. More... | |
| void | print_types (raw_ostream &OS, const SelectionDAG *G) const |
| void | print_details (raw_ostream &OS, const SelectionDAG *G) const |
| void | print (raw_ostream &OS, const SelectionDAG *G=nullptr) const |
| void | printr (raw_ostream &OS, const SelectionDAG *G=nullptr) const |
| void | printrFull (raw_ostream &O, const SelectionDAG *G=nullptr) const |
| Print a SelectionDAG node and all children down to the leaves. More... | |
| void | printrWithDepth (raw_ostream &O, const SelectionDAG *G=nullptr, unsigned depth=100) const |
| Print a SelectionDAG node and children up to depth "depth." The given SelectionDAG allows target-specific nodes to be printed in human-readable form. More... | |
| void | dump () const |
| Dump this node, for debugging. More... | |
| void | dumpr () const |
| Dump (recursively) this node and its use-def subgraph. More... | |
| void | dump (const SelectionDAG *G) const |
| Dump this node, for debugging. More... | |
| void | dumpr (const SelectionDAG *G) const |
| Dump (recursively) this node and its use-def subgraph. More... | |
| void | dumprFull (const SelectionDAG *G=nullptr) const |
| printrFull to dbgs(). More... | |
| void | dumprWithDepth (const SelectionDAG *G=nullptr, unsigned depth=100) const |
| printrWithDepth to dbgs(). More... | |
| void | Profile (FoldingSetNodeID &ID) const |
| Gather unique data for the node. More... | |
| void | addUse (SDUse &U) |
| This method should only be used by the SDUse class. More... | |
Public Member Functions inherited from llvm::FoldingSetImpl::Node | |
| Node () | |
| void * | getNextInBucket () const |
| void | SetNextInBucket (void *N) |
Public Member Functions inherited from llvm::ilist_node< SDNode > | |
| SDNode * | getPrevNode () |
| Get the previous node, or 0 for the list head. More... | |
| const SDNode * | getPrevNode () const |
| Get the previous node, or 0 for the list head. More... | |
| SDNode * | getNextNode () |
| Get the next node, or 0 for the list tail. More... | |
| const SDNode * | getNextNode () const |
| Get the next node, or 0 for the list tail. More... | |
Static Public Member Functions | |
| static bool | classof (const SDNode *N) |
Static Public Member Functions inherited from llvm::MemSDNode | |
| static bool | classof (const SDNode *N) |
Static Public Member Functions inherited from llvm::SDNode | |
| static use_iterator | use_end () |
| static const char * | getIndexedModeName (ISD::MemIndexedMode AM) |
Additional Inherited Members | |
Public Types inherited from llvm::SDNode | |
| typedef SDUse * | op_iterator |
| typedef const EVT * | value_iterator |
Protected Member Functions inherited from llvm::SDNode | |
| SDNode (unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs, ArrayRef< SDValue > Ops) | |
| SDNode (unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs) | |
| This constructor adds no operands itself; operands can be set later with InitOperands. More... | |
| void | InitOperands (SDUse *Ops, const SDValue &Op0) |
| Initialize the operands list of this with 1 operand. More... | |
| void | InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1) |
| Initialize the operands list of this with 2 operands. More... | |
| void | InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1, const SDValue &Op2) |
| Initialize the operands list of this with 3 operands. More... | |
| void | InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1, const SDValue &Op2, const SDValue &Op3) |
| Initialize the operands list of this with 4 operands. More... | |
| void | InitOperands (SDUse *Ops, const SDValue *Vals, unsigned N) |
| Initialize the operands list of this with N operands. More... | |
| void | DropOperands () |
| Release the operands and set this node to have zero operands. More... | |
Protected Member Functions inherited from llvm::ilist_node< SDNode > | |
| ilist_node () | |
Static Protected Member Functions inherited from llvm::SDNode | |
| static SDVTList | getSDVTList (EVT VT) |
Protected Attributes inherited from llvm::MemSDNode | |
| MachineMemOperand * | MMO |
| Memory reference information. More... | |
Protected Attributes inherited from llvm::SDNode | |
| uint16_t | SubclassData: 14 |
| This member is defined by this class, but is not used for anything. More... | |
This SDNode is used for target intrinsics that touch memory and need an associated MachineMemOperand.
Its opcode may be INTRINSIC_VOID, INTRINSIC_W_CHAIN, PREFETCH, or a target-specific opcode with a value not less than FIRST_TARGET_MEMORY_OPCODE.
Definition at line 1340 of file SelectionDAGNodes.h.
|
inline |
Definition at line 1342 of file SelectionDAGNodes.h.
References llvm::SDNode::SubclassData.
Definition at line 1350 of file SelectionDAGNodes.h.
References llvm::SDNode::getOpcode(), llvm::SDNode::isMemIntrinsic(), llvm::SDNode::isTargetMemoryOpcode(), and llvm::ISD::PREFETCH.
1.8.6