class BuildVectorSDNode
Declaration
class BuildVectorSDNode : public SDNode { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1916
Inherits from: SDNode
Member Variables
Inherited from SDNode:
Method Overview
- public BuildVectorSDNode()
- public static bool classof(const llvm::SDNode * N)
- public llvm::ConstantFPSDNode * getConstantFPSplatNode(const llvm::APInt & DemandedElts, llvm::BitVector * UndefElements = nullptr) const
- public llvm::ConstantFPSDNode * getConstantFPSplatNode(llvm::BitVector * UndefElements = nullptr) const
- public int32_t getConstantFPSplatPow2ToLog2Int(llvm::BitVector * UndefElements, uint32_t BitWidth) const
- public llvm::ConstantSDNode * getConstantSplatNode(const llvm::APInt & DemandedElts, llvm::BitVector * UndefElements = nullptr) const
- public llvm::ConstantSDNode * getConstantSplatNode(llvm::BitVector * UndefElements = nullptr) const
- public llvm::SDValue getSplatValue(const llvm::APInt & DemandedElts, llvm::BitVector * UndefElements = nullptr) const
- public llvm::SDValue getSplatValue(llvm::BitVector * UndefElements = nullptr) const
- public bool isConstant() const
- public bool isConstantSplat(llvm::APInt & SplatValue, llvm::APInt & SplatUndef, unsigned int & SplatBitSize, bool & HasAnyUndefs, unsigned int MinSplatBits = 0, bool isBigEndian = false) const
Inherited from SDNode:
- protected DropOperands
- public Profile
- public addUse
- public areOnlyUsersOf
- public dump
- public dump
- public dumpr
- public dumpr
- public dumprFull
- public dumprWithDepth
- public getConstantOperandAPInt
- public getConstantOperandVal
- public getDebugLoc
- public getFlags
- public getGluedNode
- public getGluedUser
- public getHasDebugValue
- public getIROrder
- public getIndexedModeName
- public getMachineOpcode
- public getMaxNumOperands
- public getNodeId
- public getNumOperands
- public getNumValues
- public getOpcode
- public getOperand
- public getOperationName
- protected getSDVTList
- public getSimpleValueType
- public getVTList
- public getValueSizeInBits
- public getValueType
- public hasAnyUseOfValue
- public hasNUsesOfValue
- public hasOneUse
- public hasPredecessor
- public hasPredecessorHelper
- public intersectFlagsWith
- public isDivergent
- public isFast
- public isMachineOpcode
- public isMemIntrinsic
- public isOnlyUserOf
- public isOperandOf
- public isPredecessorOf
- public isStrictFPOpcode
- public isTargetMemoryOpcode
- public isTargetOpcode
- public isTargetStrictFPOpcode
- public isUndef
- public op_begin
- public op_end
- public op_values
- public ops
- public print
- public print_details
- public print_types
- public printr
- public printrFull
- public printrWithDepth
- public setDebugLoc
- public setFlags
- public setHasDebugValue
- public setIROrder
- public setNodeId
- public use_begin
- public use_empty
- public use_end
- public use_size
- public uses
- public uses
- public value_begin
- public value_end
Inherited from FoldingSetBase::Node:
Methods
¶BuildVectorSDNode()
BuildVectorSDNode()
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1919
¶static bool classof(const llvm::SDNode* N)
static bool classof(const llvm::SDNode* N)
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1996
Parameters
- const llvm::SDNode* N
¶llvm::ConstantFPSDNode* getConstantFPSplatNode(
const llvm::APInt& DemandedElts,
llvm::BitVector* UndefElements =
nullptr) const
llvm::ConstantFPSDNode* getConstantFPSplatNode(
const llvm::APInt& DemandedElts,
llvm::BitVector* UndefElements =
nullptr) const
Description
Returns the demanded splatted constant FP or null if this is not a constant FP splat. The DemandedElts mask indicates the elements that must be in the splat. If passed a non-null UndefElements bitvector, it will resize it to match the vector width and set the bits where elements are undef.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1975
Parameters
- const llvm::APInt& DemandedElts
- llvm::BitVector* UndefElements = nullptr
¶llvm::ConstantFPSDNode* getConstantFPSplatNode(
llvm::BitVector* UndefElements =
nullptr) const
llvm::ConstantFPSDNode* getConstantFPSplatNode(
llvm::BitVector* UndefElements =
nullptr) const
Description
Returns the splatted constant FP or null if this is not a constant FP splat. If passed a non-null UndefElements bitvector, it will resize it to match the vector width and set the bits where elements are undef.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1984
Parameters
- llvm::BitVector* UndefElements = nullptr
¶int32_t getConstantFPSplatPow2ToLog2Int(
llvm::BitVector* UndefElements,
uint32_t BitWidth) const
int32_t getConstantFPSplatPow2ToLog2Int(
llvm::BitVector* UndefElements,
uint32_t BitWidth) const
Description
If this is a constant FP splat and the splatted constant FP is an exact power or 2, return the log base 2 integer value. Otherwise, return -1. The BitWidth specifies the necessary bit precision.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1991
Parameters
- llvm::BitVector* UndefElements
- uint32_t BitWidth
¶llvm::ConstantSDNode* getConstantSplatNode(
const llvm::APInt& DemandedElts,
llvm::BitVector* UndefElements =
nullptr) const
llvm::ConstantSDNode* getConstantSplatNode(
const llvm::APInt& DemandedElts,
llvm::BitVector* UndefElements =
nullptr) const
Description
Returns the demanded splatted constant or null if this is not a constant splat. The DemandedElts mask indicates the elements that must be in the splat. If passed a non-null UndefElements bitvector, it will resize it to match the vector width and set the bits where elements are undef.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1957
Parameters
- const llvm::APInt& DemandedElts
- llvm::BitVector* UndefElements = nullptr
¶llvm::ConstantSDNode* getConstantSplatNode(
llvm::BitVector* UndefElements =
nullptr) const
llvm::ConstantSDNode* getConstantSplatNode(
llvm::BitVector* UndefElements =
nullptr) const
Description
Returns the splatted constant or null if this is not a constant splat. If passed a non-null UndefElements bitvector, it will resize it to match the vector width and set the bits where elements are undef.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1966
Parameters
- llvm::BitVector* UndefElements = nullptr
¶llvm::SDValue getSplatValue(
const llvm::APInt& DemandedElts,
llvm::BitVector* UndefElements =
nullptr) const
llvm::SDValue getSplatValue(
const llvm::APInt& DemandedElts,
llvm::BitVector* UndefElements =
nullptr) const
Description
Returns the demanded splatted value or a null value if this is not a splat. The DemandedElts mask indicates the elements that must be in the splat. If passed a non-null UndefElements bitvector, it will resize it to match the vector width and set the bits where elements are undef.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1941
Parameters
- const llvm::APInt& DemandedElts
- llvm::BitVector* UndefElements = nullptr
¶llvm::SDValue getSplatValue(
llvm::BitVector* UndefElements =
nullptr) const
llvm::SDValue getSplatValue(
llvm::BitVector* UndefElements =
nullptr) const
Description
Returns the splatted value or a null value if this is not a splat. If passed a non-null UndefElements bitvector, it will resize it to match the vector width and set the bits where elements are undef.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1948
Parameters
- llvm::BitVector* UndefElements = nullptr
¶bool isConstant() const
bool isConstant() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1994
¶bool isConstantSplat(
llvm::APInt& SplatValue,
llvm::APInt& SplatUndef,
unsigned int& SplatBitSize,
bool& HasAnyUndefs,
unsigned int MinSplatBits = 0,
bool isBigEndian = false) const
bool isConstantSplat(
llvm::APInt& SplatValue,
llvm::APInt& SplatUndef,
unsigned int& SplatBitSize,
bool& HasAnyUndefs,
unsigned int MinSplatBits = 0,
bool isBigEndian = false) const
Description
Check if this is a constant splat, and if so, find the smallest element size that splats the vector. If MinSplatBits is nonzero, the element size must be at least that large. Note that the splat element may be the entire vector (i.e., a one element vector). Returns the splat element value in SplatValue. Any undefined bits in that value are zero, and the corresponding bits in the SplatUndef mask are set. The SplatBitSize value is set to the splat element size in bits. HasAnyUndefs is set to true if any bits in the vector are undefined. isBigEndian describes the endianness of the target.
Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1930
Parameters
- llvm::APInt& SplatValue
- llvm::APInt& SplatUndef
- unsigned int& SplatBitSize
- bool& HasAnyUndefs
- unsigned int MinSplatBits = 0
- bool isBigEndian = false