LLVM  mainline
Classes | Namespaces | Typedefs | Functions
SelectionDAGNodes.h File Reference
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/GraphTraits.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/ilist_node.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/Instructions.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/MathExtras.h"
#include <cassert>
Include dependency graph for SelectionDAGNodes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::SDVTList
class  llvm::SDValue
struct  llvm::DenseMapInfo< SDValue >
struct  llvm::isPodLike< SDValue >
struct  llvm::simplify_type< SDValue >
struct  llvm::simplify_type< const SDValue >
class  llvm::SDUse
struct  llvm::simplify_type< SDUse >
class  llvm::SDNode
class  llvm::SDNode::use_iterator
class  llvm::SDLoc
class  llvm::UnarySDNode
class  llvm::BinarySDNode
class  llvm::BinaryWithFlagsSDNode
class  llvm::TernarySDNode
class  llvm::HandleSDNode
class  llvm::AddrSpaceCastSDNode
class  llvm::MemSDNode
 Abstact virtual class for operations for memory operations. More...
class  llvm::AtomicSDNode
 A SDNode reprenting atomic operations. More...
class  llvm::MemIntrinsicSDNode
class  llvm::ShuffleVectorSDNode
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
class  llvm::MDNodeSDNode
class  llvm::RegisterSDNode
class  llvm::RegisterMaskSDNode
class  llvm::BlockAddressSDNode
class  llvm::EHLabelSDNode
class  llvm::ExternalSymbolSDNode
class  llvm::CondCodeSDNode
class  llvm::CvtRndSatSDNode
class  llvm::VTSDNode
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::MachineSDNode
class  llvm::SDNodeIterator
struct  llvm::GraphTraits< SDNode * >

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


namespace  llvm::ISD

Typedefs

typedef AtomicSDNode llvm::LargestSDNode
 The largest SDNode class.
typedef GlobalAddressSDNode llvm::MostAlignedSDNode
 The SDNode class with the greatest alignment requirement.

Functions

static bool llvm::isBinOpWithFlags (unsigned Opcode)
 Returns true if the opcode is a binary operation with flags.
void llvm::checkForCycles (const SDNode *N, const SelectionDAG *DAG=nullptr, bool force=false)
bool llvm::ISD::isBuildVectorAllOnes (const SDNode *N)
 Node predicates.
bool llvm::ISD::isBuildVectorAllZeros (const SDNode *N)
bool llvm::ISD::isBuildVectorOfConstantSDNodes (const SDNode *N)
 Return true if the specified node is a BUILD_VECTOR node of all ConstantSDNode or undef.
bool llvm::ISD::isBuildVectorOfConstantFPSDNodes (const SDNode *N)
 Return true if the specified node is a BUILD_VECTOR node of all ConstantFPSDNode or undef.
bool llvm::ISD::isScalarToVector (const SDNode *N)
bool llvm::ISD::allOperandsUndef (const SDNode *N)
bool llvm::ISD::isNormalLoad (const SDNode *N)
 Returns true if the specified node is a non-extending and unindexed load.
bool llvm::ISD::isNON_EXTLoad (const SDNode *N)
 Returns true if the specified node is a non-extending load.
bool llvm::ISD::isEXTLoad (const SDNode *N)
 Returns true if the specified node is a EXTLOAD.
bool llvm::ISD::isSEXTLoad (const SDNode *N)
 Returns true if the specified node is a SEXTLOAD.
bool llvm::ISD::isZEXTLoad (const SDNode *N)
 Returns true if the specified node is a ZEXTLOAD.
bool llvm::ISD::isUNINDEXEDLoad (const SDNode *N)
 Returns true if the specified node is an unindexed load.
bool llvm::ISD::isNormalStore (const SDNode *N)
bool llvm::ISD::isNON_TRUNCStore (const SDNode *N)
 Returns true if the specified node is a non-truncating store.
bool llvm::ISD::isTRUNCStore (const SDNode *N)
 Returns true if the specified node is a truncating store.
bool llvm::ISD::isUNINDEXEDStore (const SDNode *N)
 Returns true if the specified node is an unindexed store.