|
LLVM
8.0.1
|
#include "llvm/ADT/APFloat.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/BitVector.h"#include "llvm/ADT/FoldingSet.h"#include "llvm/ADT/GraphTraits.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/ilist_node.h"#include "llvm/ADT/iterator.h"#include "llvm/ADT/iterator_range.h"#include "llvm/CodeGen/ISDOpcodes.h"#include "llvm/CodeGen/MachineMemOperand.h"#include "llvm/CodeGen/ValueTypes.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DebugLoc.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/Metadata.h"#include "llvm/IR/Operator.h"#include "llvm/Support/AlignOf.h"#include "llvm/Support/AtomicOrdering.h"#include "llvm/Support/Casting.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/MachineValueType.h"#include <algorithm>#include <cassert>#include <climits>#include <cstddef>#include <cstdint>#include <cstring>#include <iterator>#include <string>#include <tuple>

Go to the source code of this file.
Classes | |
| struct | llvm::DenseMapInfo< T > |
| struct | llvm::SDVTList |
| This represents a list of ValueType's that has been intern'd by a SelectionDAG. More... | |
| class | llvm::SDValue |
| Unlike LLVM values, Selection DAG nodes may return multiple values as the result of a computation. More... | |
| struct | llvm::DenseMapInfo< SDValue > |
| struct | llvm::isPodLike< SDValue > |
| struct | llvm::simplify_type< SDValue > |
| Allow casting operators to work directly on SDValues as if they were SDNode*'s. More... | |
| struct | llvm::simplify_type< const SDValue > |
| class | llvm::SDUse |
| Represents a use of a SDNode. More... | |
| struct | llvm::simplify_type< SDUse > |
| simplify_type specializations - Allow casting operators to work directly on SDValues as if they were SDNode*'s. More... | |
| struct | llvm::SDNodeFlags |
| These are IR-level optimization flags that may be propagated to SDNodes. More... | |
| class | llvm::SDNode |
| Represents one node in the SelectionDAG. More... | |
| class | llvm::SDNode::SDNodeBitfields |
| class | llvm::SDNode::ConstantSDNodeBitfields |
| class | llvm::SDNode::MemSDNodeBitfields |
| class | llvm::SDNode::LSBaseSDNodeBitfields |
| class | llvm::SDNode::LoadSDNodeBitfields |
| class | llvm::SDNode::StoreSDNodeBitfields |
| class | llvm::SDNode::use_iterator |
| This class provides iterator support for SDUse operands that use a specific SDNode. More... | |
| struct | llvm::SDNode::value_op_iterator |
| Iterator for directly iterating over the operand SDValue's. More... | |
| class | llvm::SDLoc |
| Wrapper class for IR location info (IR ordering and DebugLoc) to be passed into SDNode creation functions. More... | |
| class | llvm::HandleSDNode |
| This class is used to form a handle around another node that is persistent and is updated across invocations of replaceAllUsesWith on its operand. More... | |
| class | llvm::AddrSpaceCastSDNode |
| class | llvm::MemSDNode |
| This is an abstract virtual class for memory operations. More... | |
| class | llvm::AtomicSDNode |
| This is an SDNode representing atomic operations. More... | |
| class | llvm::MemIntrinsicSDNode |
| This SDNode is used for target intrinsics that touch memory and need an associated MachineMemOperand. More... | |
| class | llvm::ShuffleVectorSDNode |
| This SDNode is used to implement the code generator support for the llvm IR shufflevector instruction. More... | |
| class | llvm::ConstantSDNode |
| class | llvm::ConstantFPSDNode |
| class | llvm::GlobalAddressSDNode |
| class | llvm::FrameIndexSDNode |
| class | llvm::JumpTableSDNode |
| class | llvm::ConstantPoolSDNode |
| class | llvm::TargetIndexSDNode |
| Completely target-dependent object reference. More... | |
| class | llvm::BasicBlockSDNode |
| class | llvm::BuildVectorSDNode |
| A "pseudo-class" with methods for operating on BUILD_VECTORs. More... | |
| class | llvm::SrcValueSDNode |
| An SDNode that holds an arbitrary LLVM IR Value. More... | |
| class | llvm::MDNodeSDNode |
| class | llvm::RegisterSDNode |
| class | llvm::RegisterMaskSDNode |
| class | llvm::BlockAddressSDNode |
| class | llvm::LabelSDNode |
| class | llvm::ExternalSymbolSDNode |
| class | llvm::MCSymbolSDNode |
| class | llvm::CondCodeSDNode |
| class | llvm::VTSDNode |
| This class is used to represent EVT's, which are used to parameterize some operations. More... | |
| class | llvm::LSBaseSDNode |
| Base class for LoadSDNode and StoreSDNode. More... | |
| class | llvm::LoadSDNode |
| This class is used to represent ISD::LOAD nodes. More... | |
| class | llvm::StoreSDNode |
| This class is used to represent ISD::STORE nodes. More... | |
| class | llvm::MaskedLoadStoreSDNode |
| This base class is used to represent MLOAD and MSTORE nodes. More... | |
| class | llvm::MaskedLoadSDNode |
| This class is used to represent an MLOAD node. More... | |
| class | llvm::MaskedStoreSDNode |
| This class is used to represent an MSTORE node. More... | |
| class | llvm::MaskedGatherScatterSDNode |
| This is a base class used to represent MGATHER and MSCATTER nodes. More... | |
| class | llvm::MaskedGatherSDNode |
| This class is used to represent an MGATHER node. More... | |
| class | llvm::MaskedScatterSDNode |
| This class is used to represent an MSCATTER node. More... | |
| class | llvm::MachineSDNode |
| An SDNode that represents everything that will be needed to construct a MachineInstr. More... | |
| class | llvm::SDNodeIterator |
| struct | llvm::GraphTraits< SDNode * > |
Namespaces | |
| llvm | |
| This class represents lattice values for constants. | |
| llvm::ISD | |
| ISD namespace - This namespace contains an enum which represents all of the SelectionDAG node types and value types. | |
Typedefs | |
| using | llvm::LargestSDNode = AlignedCharArrayUnion< AtomicSDNode, TargetIndexSDNode, BlockAddressSDNode, GlobalAddressSDNode > |
| A representation of the largest SDNode, for use in sizeof(). More... | |
| using | llvm::MostAlignedSDNode = GlobalAddressSDNode |
| The SDNode class with the greatest alignment requirement. More... | |
Functions | |
| void | llvm::checkForCycles (const SDNode *N, const SelectionDAG *DAG=nullptr, bool force=false) |
| bool | llvm::ISD::isConstantSplatVector (const SDNode *N, APInt &SplatValue) |
| Node predicates. More... | |
| bool | llvm::ISD::isBuildVectorAllOnes (const SDNode *N) |
| Return true if the specified node is a BUILD_VECTOR where all of the elements are ~0 or undef. More... | |
| bool | llvm::ISD::isBuildVectorAllZeros (const SDNode *N) |
| Return true if the specified node is a BUILD_VECTOR where all of the elements are 0 or undef. More... | |
| bool | llvm::ISD::isBuildVectorOfConstantSDNodes (const SDNode *N) |
| Return true if the specified node is a BUILD_VECTOR node of all ConstantSDNode or undef. More... | |
| bool | llvm::ISD::isBuildVectorOfConstantFPSDNodes (const SDNode *N) |
| Return true if the specified node is a BUILD_VECTOR node of all ConstantFPSDNode or undef. More... | |
| bool | llvm::ISD::allOperandsUndef (const SDNode *N) |
| Return true if the node has at least one operand and all operands of the specified node are ISD::UNDEF. More... | |
| bool | llvm::isNullConstant (SDValue V) |
Returns true if V is a constant integer zero. More... | |
| bool | llvm::isNullFPConstant (SDValue V) |
Returns true if V is an FP constant with a value of positive zero. More... | |
| bool | llvm::isAllOnesConstant (SDValue V) |
Returns true if V is an integer constant with all bits set. More... | |
| bool | llvm::isOneConstant (SDValue V) |
Returns true if V is a constant integer one. More... | |
| SDValue | llvm::peekThroughBitcasts (SDValue V) |
Return the non-bitcasted source operand of V if it exists. More... | |
| SDValue | llvm::peekThroughOneUseBitcasts (SDValue V) |
Return the non-bitcasted and one-use source operand of V if it exists. More... | |
| bool | llvm::isBitwiseNot (SDValue V) |
Returns true if V is a bitwise not operation. More... | |
| ConstantSDNode * | llvm::isConstOrConstSplat (SDValue N, bool AllowUndefs=false) |
| Returns the SDNode if it is a constant splat BuildVector or constant int. More... | |
| ConstantFPSDNode * | llvm::isConstOrConstSplatFP (SDValue N, bool AllowUndefs=false) |
| Returns the SDNode if it is a constant splat BuildVector or constant float. More... | |
| bool | llvm::isNullOrNullSplat (SDValue V) |
| Return true if the value is a constant 0 integer or a splatted vector of a constant 0 integer (with no undefs). More... | |
| bool | llvm::isOneOrOneSplat (SDValue V) |
| Return true if the value is a constant 1 integer or a splatted vector of a constant 1 integer (with no undefs). More... | |
| bool | llvm::isAllOnesOrAllOnesSplat (SDValue V) |
| Return true if the value is a constant -1 integer or a splatted vector of a constant -1 integer (with no undefs). More... | |
| bool | llvm::ISD::isNormalLoad (const SDNode *N) |
| Returns true if the specified node is a non-extending and unindexed load. More... | |
| bool | llvm::ISD::isNON_EXTLoad (const SDNode *N) |
| Returns true if the specified node is a non-extending load. More... | |
| bool | llvm::ISD::isEXTLoad (const SDNode *N) |
| Returns true if the specified node is a EXTLOAD. More... | |
| bool | llvm::ISD::isSEXTLoad (const SDNode *N) |
| Returns true if the specified node is a SEXTLOAD. More... | |
| bool | llvm::ISD::isZEXTLoad (const SDNode *N) |
| Returns true if the specified node is a ZEXTLOAD. More... | |
| bool | llvm::ISD::isUNINDEXEDLoad (const SDNode *N) |
| Returns true if the specified node is an unindexed load. More... | |
| bool | llvm::ISD::isNormalStore (const SDNode *N) |
| Returns true if the specified node is a non-truncating and unindexed store. More... | |
| bool | llvm::ISD::isNON_TRUNCStore (const SDNode *N) |
| Returns true if the specified node is a non-truncating store. More... | |
| bool | llvm::ISD::isTRUNCStore (const SDNode *N) |
| Returns true if the specified node is a truncating store. More... | |
| bool | llvm::ISD::isUNINDEXEDStore (const SDNode *N) |
| Returns true if the specified node is an unindexed store. More... | |
| bool | llvm::ISD::isBinaryOp (const SDNode *N) |
| Return true if the node is a math/logic binary operator. More... | |
| bool | llvm::ISD::matchUnaryPredicate (SDValue Op, std::function< bool(ConstantSDNode *)> Match, bool AllowUndefs=false) |
| Attempt to match a unary predicate against a scalar/splat constant or every element of a constant BUILD_VECTOR. More... | |
| bool | llvm::ISD::matchBinaryPredicate (SDValue LHS, SDValue RHS, std::function< bool(ConstantSDNode *, ConstantSDNode *)> Match, bool AllowUndefs=false) |
| Attempt to match a binary predicate against a pair of scalar/splat constants or every element of a pair of constant BUILD_VECTORs. More... | |
1.8.13