Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Public Member Functions |Static Public Member Functions |Friends |List of all members
llvm::MaskedScatterSDNode Class Reference

This class is used to represent an MSCATTER node.More...

#include "llvm/CodeGen/SelectionDAGNodes.h"

Inheritance diagram for llvm::MaskedScatterSDNode:
Inheritance graph
[legend]

Public Member Functions

 MaskedScatterSDNode (unsigned Order,constDebugLoc &dl,SDVTList VTs,EVT MemVT,MachineMemOperand *MMO,ISD::MemIndexType IndexType,bool IsTrunc)
 
bool isTruncatingStore ()const
 Return true if the op does a truncation before store.
 
constSDValuegetValue ()const
 
- Public Member Functions inherited fromllvm::MaskedGatherScatterSDNode
 MaskedGatherScatterSDNode (ISD::NodeType NodeTy,unsigned Order,constDebugLoc &dl,SDVTList VTs,EVT MemVT,MachineMemOperand *MMO,ISD::MemIndexType IndexType)
 
ISD::MemIndexType getIndexType ()const
 How is Index applied to BasePtr when computing addresses.
 
bool isIndexScaled ()const
 
bool isIndexSigned ()const
 
constSDValuegetBasePtr ()const
 
constSDValuegetIndex ()const
 
constSDValuegetMask ()const
 
constSDValuegetScale ()const
 
- Public Member Functions inherited fromllvm::MemSDNode
 MemSDNode (unsigned Opc,unsigned Order,constDebugLoc &dl,SDVTList VTs,EVT memvt,MachineMemOperand *MMO)
 
bool readMem ()const
 
bool writeMem ()const
 
Align getOriginalAlign ()const
 Returns alignment and volatility of the memory access.
 
Align getAlign ()const
 
unsigned getRawSubclassData ()const
 Return the SubclassData value, without HasDebugValue.
 
bool isVolatile ()const
 
bool isNonTemporal ()const
 
bool isDereferenceable ()const
 
bool isInvariant ()const
 
int64_t getSrcValueOffset ()const
 
AAMDNodes getAAInfo ()const
 Returns theAA info that describes the dereference.
 
constMDNodegetRanges ()const
 Returns the Ranges that describes the dereference.
 
SyncScope::ID getSyncScopeID ()const
 Returns the synchronization scope ID for this memory operation.
 
AtomicOrdering getSuccessOrdering ()const
 Return the atomic ordering requirements for this memory operation.
 
AtomicOrdering getMergedOrdering ()const
 Return a single atomic ordering that is at least as strong as both the success and failure orderings for an atomic operation.
 
bool isAtomic ()const
 Return true if the memory operation ordering is Unordered or higher.
 
bool isUnordered ()const
 Returns true if the memory operation doesn't imply any ordering constraints on surrounding memory operations beyond the normal memory aliasing rules.
 
bool isSimple ()const
 Returns true if the memory operation is neither atomic or volatile.
 
EVT getMemoryVT ()const
 Return the type of the in-memory value.
 
MachineMemOperandgetMemOperand ()const
 Return aMachineMemOperand object describing the memory reference performed by operation.
 
constMachinePointerInfogetPointerInfo ()const
 
unsigned getAddressSpace ()const
 Return the address space for the associated pointer.
 
void refineAlignment (constMachineMemOperand *NewMMO)
 Update thisMemSDNode'sMachineMemOperand information to reflect the alignment of NewMMO, if it has a greater alignment.
 
constSDValuegetChain ()const
 
constSDValuegetBasePtr ()const
 
- Public Member Functions inherited fromllvm::SDNode
unsigned getOpcode ()const
 Return theSelectionDAG opcode value for this node.
 
bool isTargetOpcode ()const
 Test if this node has a target-specific opcode (in the <target>ISD namespace).
 
bool isUndef ()const
 Return true if the type of the node type undefined.
 
bool isMemIntrinsic ()const
 Test if this node is a memory intrinsic (with valid pointer information).
 
bool isStrictFPOpcode ()
 Test if this node is a strict floating point pseudo-op.
 
bool isVPOpcode ()const
 Test if this node is a vector predication operation.
 
bool isMachineOpcode ()const
 Test if this node has a post-isel opcode, directly corresponding to aMachineInstr opcode.
 
unsigned getMachineOpcode ()const
 This may only be called if isMachineOpcode returns true.
 
bool getHasDebugValue ()const
 
void setHasDebugValue (bool b)
 
bool isDivergent ()const
 
bool use_empty ()const
 Return true if there are no uses of this node.
 
bool hasOneUse ()const
 Return true if there is exactly one use of this node.
 
size_t use_size ()const
 Return the number of uses of this node.
 
int getNodeId ()const
 Return the unique node id.
 
void setNodeId (int Id)
 Set unique node id.
 
int getCombinerWorklistIndex ()const
 Get worklist index for DAGCombiner.
 
void setCombinerWorklistIndex (intIndex)
 Set worklist index for DAGCombiner.
 
unsigned getIROrder ()const
 Return the node ordering.
 
void setIROrder (unsigned Order)
 Set the node ordering.
 
constDebugLocgetDebugLoc ()const
 Return the source location info.
 
void setDebugLoc (DebugLoc dl)
 Set source location info.
 
use_iterator use_begin ()const
 Provide iteration support to walk over all uses of anSDNode.
 
iterator_range<use_iteratoruses ()
 
iterator_range<use_iteratoruses ()const
 
user_iterator user_begin ()const
 Provide iteration support to walk over all users of anSDNode.
 
iterator_range<user_iteratorusers ()
 
iterator_range<user_iteratorusers ()const
 
bool hasNUsesOfValue (unsigned NUses,unsignedValue)const
 Return true if there are exactly NUSES uses of the indicated value.
 
bool hasAnyUseOfValue (unsignedValue)const
 Return true if there are any use of the indicated value.
 
bool isOnlyUserOf (constSDNode *N)const
 Return true if this node is the only use of N.
 
bool isOperandOf (constSDNode *N)const
 Return true if this node is an operand of N.
 
bool isPredecessorOf (constSDNode *N)const
 Return true if this node is a predecessor of N.
 
bool hasPredecessor (constSDNode *N)const
 Return true if N is a predecessor of this node.
 
unsigned getNumOperands ()const
 Return the number of values used by this operation.
 
uint64_t getConstantOperandVal (unsigned Num)const
 Helper method returns the integer value of aConstantSDNode operand.
 
uint64_t getAsZExtVal ()const
 Helper method returns the zero-extended integer value of aConstantSDNode.
 
constAPIntgetConstantOperandAPInt (unsigned Num)const
 Helper method returns theAPInt of aConstantSDNode operand.
 
constAPIntgetAsAPIntVal ()const
 Helper method returns theAPInt value of aConstantSDNode.
 
constSDValuegetOperand (unsigned Num)const
 
op_iterator op_begin ()const
 
op_iterator op_end ()const
 
ArrayRef<SDUseops ()const
 
iterator_range<value_op_iteratorop_values ()const
 
SDVTList getVTList ()const
 
SDNodegetGluedNode ()const
 If this node has a glue operand, return the node to which the glue operand points.
 
SDNodegetGluedUser ()const
 If this node has a glue value with a user, return the user (there is at most one).
 
SDNodeFlags getFlags ()const
 
void setFlags (SDNodeFlags NewFlags)
 
void dropFlags (unsigned Mask)
 
void intersectFlagsWith (constSDNodeFlags Flags)
 Clear any flags in this node that aren't also set in Flags.
 
bool hasPoisonGeneratingFlags ()const
 
void setCFIType (uint32_tType)
 
uint32_t getCFIType ()const
 
unsigned getNumValues ()const
 Return the number of values defined/returned by this operator.
 
EVT getValueType (unsigned ResNo)const
 Return the type of a specified result.
 
MVT getSimpleValueType (unsigned ResNo)const
 Return the type of a specified result as a simple type.
 
TypeSize getValueSizeInBits (unsigned ResNo)const
 Returns MVT::getSizeInBits(getValueType(ResNo)).
 
value_iterator value_begin ()const
 
value_iterator value_end ()const
 
iterator_range<value_iteratorvalues ()const
 
std::string getOperationName (constSelectionDAG *G=nullptr)const
 Return the opcode of this operation for printing.
 
void print_types (raw_ostream &OS,constSelectionDAG *G)const
 
void print_details (raw_ostream &OS,constSelectionDAG *G)const
 
void print (raw_ostream &OS,constSelectionDAG *G=nullptr)const
 
void printr (raw_ostream &OS,constSelectionDAG *G=nullptr)const
 
void printrFull (raw_ostream &O,constSelectionDAG *G=nullptr)const
 Print aSelectionDAG node and all children down to the leaves.
 
void printrWithDepth (raw_ostream &O,constSelectionDAG *G=nullptr,unsigned depth=100)const
 Print aSelectionDAG node and children up to depth "depth." The givenSelectionDAG allows target-specific nodes to be printed in human-readable form.
 
void dump ()const
 Dump this node, for debugging.
 
void dumpr ()const
 Dump (recursively) this node and its use-def subgraph.
 
void dump (constSelectionDAG *G)const
 Dump this node, for debugging.
 
void dumpr (constSelectionDAG *G)const
 Dump (recursively) this node and its use-def subgraph.
 
void dumprFull (constSelectionDAG *G=nullptr)const
 printrFull todbgs().
 
void dumprWithDepth (constSelectionDAG *G=nullptr,unsigned depth=100)const
 printrWithDepth todbgs().
 
void Profile (FoldingSetNodeID &ID)const
 Gather unique data for the node.
 
void addUse (SDUse &U)
 This method should only be used by theSDUse class.
 
- Public Member Functions inherited fromllvm::FoldingSetBase::Node
 Node ()=default
 
void * getNextInBucket ()const
 
void SetNextInBucket (void *N)
 
- Public Member Functions inherited fromllvm::ilist_node_impl< OptionsT >
self_iterator getIterator ()
 
const_self_iterator getIterator ()const
 
reverse_self_iterator getReverseIterator ()
 
const_reverse_self_iterator getReverseIterator ()const
 
bool isSentinel ()const
 Check whether this is the sentinel node.
 
- Public Member Functions inherited fromllvm::ilist_detail::node_parent_access< ilist_node_impl< OptionsT >, OptionsT::parent_ty >
const OptionsT::parent_ty * getParent ()const
 
OptionsT::parent_ty * getParent ()
 
void setParent (OptionsT::parent_ty *Parent)
 

Static Public Member Functions

staticbool classof (constSDNode *N)
 
- Static Public Member Functions inherited fromllvm::MaskedGatherScatterSDNode
staticbool classof (constSDNode *N)
 
- Static Public Member Functions inherited fromllvm::MemSDNode
staticbool classof (constSDNode *N)
 
- Static Public Member Functions inherited fromllvm::SDNode
staticuse_iterator use_end ()
 
staticuser_iterator user_end ()
 
staticbool hasPredecessorHelper (constSDNode *N,SmallPtrSetImpl<constSDNode * > &Visited,SmallVectorImpl<constSDNode * > &Worklist,unsigned intMaxSteps=0,bool TopologicalPrune=false)
 Returns true if N is a predecessor of any node in Worklist.
 
staticbool areOnlyUsersOf (ArrayRef<constSDNode * > Nodes,constSDNode *N)
 Return true if all the users of N are contained in Nodes.
 
static constexpr size_t getMaxNumOperands ()
 Return the maximum number of operands that aSDNode can hold.
 
staticconstchargetIndexedModeName (ISD::MemIndexedMode AM)
 

Friends

class SelectionDAG
 

Additional Inherited Members

- Public Types inherited fromllvm::SDNode
using op_iterator =SDUse *
 
using value_iterator =constEVT *
 
- Public Attributes inherited fromllvm::SDNode
uint16_t PersistentId = 0xffff
 Unique and persistent id perSDNode in the DAG.
 
- Protected Types inherited fromllvm::SDNode
enum  {NumSDNodeBits = 3 }
 
enum  {NumMemSDNodeBits = NumSDNodeBits + 4 }
 
enum  {NumLSBaseSDNodeBits = NumMemSDNodeBits + 3 }
 
- Protected Types inherited fromllvm::ilist_node_impl< OptionsT >
using self_iterator = typenameilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, false, false >::type
 
using const_self_iterator = typenameilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT, false,true >::type
 
using reverse_self_iterator = typenameilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT,true, false >::type
 
using const_reverse_self_iterator = typenameilist_select_iterator_type< OptionsT::has_iterator_bits, OptionsT,true,true >::type
 
- Protected Member Functions inherited fromllvm::SDNode
 SDNode (unsigned Opc,unsigned Order,DebugLoc dl,SDVTList VTs)
 Create anSDNode.
 
void DropOperands ()
 Release the operands and set this node to have zero operands.
 
- Protected Member Functions inherited fromllvm::ilist_node_impl< OptionsT >
 ilist_node_impl ()=default
 
- Static Protected Member Functions inherited fromllvm::SDNode
staticSDVTList getSDVTList (MVT VT)
 
- Protected Attributes inherited fromllvm::MemSDNode
MachineMemOperandMMO
 Memory reference information.
 
- Protected Attributes inherited fromllvm::SDNode
union {
   char   RawSDNodeBits [sizeof(uint16_t)]
 
   SDNodeBitfields   SDNodeBits
 
   ConstantSDNodeBitfields   ConstantSDNodeBits
 
   MemSDNodeBitfields   MemSDNodeBits
 
   LSBaseSDNodeBitfields   LSBaseSDNodeBits
 
   LoadSDNodeBitfields   LoadSDNodeBits
 
   StoreSDNodeBitfields   StoreSDNodeBits
 
}; 
 

Detailed Description

This class is used to represent an MSCATTER node.

Definition at line2986 of fileSelectionDAGNodes.h.

Constructor & Destructor Documentation

◆ MaskedScatterSDNode()

llvm::MaskedScatterSDNode::MaskedScatterSDNode(unsigned Order,
constDebugLocdl,
SDVTList VTs,
EVT MemVT,
MachineMemOperandMMO,
ISD::MemIndexType IndexType,
bool IsTrunc 
)
inline

Definition at line2990 of fileSelectionDAGNodes.h.

Referencesllvm::SDNode::StoreSDNodeBits.

Member Function Documentation

◆ classof()

staticbool llvm::MaskedScatterSDNode::classof(constSDNodeN)
inlinestatic

Definition at line3005 of fileSelectionDAGNodes.h.

Referencesllvm::ISD::MSCATTER, andN.

◆ getValue()

constSDValue & llvm::MaskedScatterSDNode::getValue() const
inline

Definition at line3003 of fileSelectionDAGNodes.h.

Referencesllvm::SDNode::getOperand().

Referenced byperformMaskedGatherScatterCombine().

◆ isTruncatingStore()

bool llvm::MaskedScatterSDNode::isTruncatingStore() const
inline

Return true if the op does a truncation before store.

For integers this is the same as doing a TRUNCATE and storing the result. For floats, it is the same as doing an FP_ROUND and storing the result.

Definition at line3001 of fileSelectionDAGNodes.h.

Referencesllvm::SDNode::StoreSDNodeBits.

Referenced byperformMaskedGatherScatterCombine().

Friends And Related Function Documentation

◆ SelectionDAG

friend classSelectionDAG
friend

Definition at line2988 of fileSelectionDAGNodes.h.


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

Generated on Sun Jul 20 2025 19:10:54 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp