LLVM API Documentation

SelectionDAGNodes.h File Reference

#include "llvm/Constants.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/GraphTraits.h"
#include "llvm/ADT/iterator.h"
#include "llvm/ADT/ilist_node.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/RecyclingAllocator.h"
#include "llvm/Support/DataTypes.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.

Namespaces

namespace  llvm
namespace  llvm::ISD

Classes

struct  llvm::SDVTList
class  llvm::SDValue
struct  llvm::DenseMapInfo< SDValue >
struct  llvm::simplify_type< SDValue >
struct  llvm::simplify_type< const SDValue >
class  llvm::SDUse
struct  llvm::simplify_type< SDUse >
struct  llvm::simplify_type< const SDUse >
class  llvm::SDOperandPtr
class  llvm::SDNode
class  llvm::SDNode::use_iterator
class  llvm::UnarySDNode
class  llvm::BinarySDNode
class  llvm::TernarySDNode
class  llvm::HandleSDNode
class  llvm::MemSDNode
 Abstact virtual class for operations for memory operations. More...
class  llvm::AtomicSDNode
class  llvm::MemIntrinsicSDNode
class  llvm::ConstantSDNode
class  llvm::ConstantFPSDNode
class  llvm::GlobalAddressSDNode
class  llvm::FrameIndexSDNode
class  llvm::JumpTableSDNode
class  llvm::ConstantPoolSDNode
class  llvm::BasicBlockSDNode
class  llvm::SrcValueSDNode
class  llvm::MemOperandSDNode
class  llvm::RegisterSDNode
class  llvm::DbgStopPointSDNode
class  llvm::LabelSDNode
class  llvm::ExternalSymbolSDNode
class  llvm::CondCodeSDNode
class  llvm::CvtRndSatSDNode
struct  llvm::ISD::ArgFlagsTy
class  llvm::ARG_FLAGSSDNode
 ARG_FLAGSSDNode - Leaf node holding parameter flags. More...
class  llvm::CallSDNode
 CallSDNode - Node for calls -- ISD::CALL. More...
class  llvm::VTSDNode
class  llvm::LSBaseSDNode
class  llvm::LoadSDNode
class  llvm::StoreSDNode
class  llvm::SDNodeIterator
struct  llvm::GraphTraits< SDNode * >

Typedefs

typedef LoadSDNode llvm::LargestSDNode
typedef ARG_FLAGSSDNode llvm::MostAlignedSDNode

Enumerations

enum  llvm::ISD::NodeType {
  llvm::ISD::DELETED_NODE, llvm::ISD::EntryToken, llvm::ISD::TokenFactor, llvm::ISD::AssertSext,
  llvm::ISD::AssertZext, llvm::ISD::BasicBlock, llvm::ISD::VALUETYPE, llvm::ISD::ARG_FLAGS,
  llvm::ISD::CONDCODE, llvm::ISD::Register, llvm::ISD::Constant, llvm::ISD::ConstantFP,
  llvm::ISD::GlobalAddress, llvm::ISD::GlobalTLSAddress, llvm::ISD::FrameIndex, llvm::ISD::JumpTable,
  llvm::ISD::ConstantPool, llvm::ISD::ExternalSymbol, llvm::ISD::GLOBAL_OFFSET_TABLE, llvm::ISD::FRAMEADDR,
  llvm::ISD::RETURNADDR, llvm::ISD::FRAME_TO_ARGS_OFFSET, llvm::ISD::EXCEPTIONADDR, llvm::ISD::EHSELECTION,
  llvm::ISD::EH_RETURN, llvm::ISD::TargetConstant, llvm::ISD::TargetConstantFP, llvm::ISD::TargetGlobalAddress,
  llvm::ISD::TargetGlobalTLSAddress, llvm::ISD::TargetFrameIndex, llvm::ISD::TargetJumpTable, llvm::ISD::TargetConstantPool,
  llvm::ISD::TargetExternalSymbol, llvm::ISD::INTRINSIC_WO_CHAIN, llvm::ISD::INTRINSIC_W_CHAIN, llvm::ISD::INTRINSIC_VOID,
  llvm::ISD::CopyToReg, llvm::ISD::CopyFromReg, llvm::ISD::UNDEF, llvm::ISD::FORMAL_ARGUMENTS,
  llvm::ISD::CALL, llvm::ISD::EXTRACT_ELEMENT, llvm::ISD::BUILD_PAIR, llvm::ISD::MERGE_VALUES,
  llvm::ISD::ADD, llvm::ISD::SUB, llvm::ISD::MUL, llvm::ISD::SDIV,
  llvm::ISD::UDIV, llvm::ISD::SREM, llvm::ISD::UREM, llvm::ISD::SMUL_LOHI,
  llvm::ISD::UMUL_LOHI, llvm::ISD::SDIVREM, llvm::ISD::UDIVREM, llvm::ISD::CARRY_FALSE,
  llvm::ISD::ADDC, llvm::ISD::SUBC, llvm::ISD::ADDE, llvm::ISD::SUBE,
  llvm::ISD::SADDO, llvm::ISD::UADDO, llvm::ISD::SSUBO, llvm::ISD::USUBO,
  llvm::ISD::SMULO, llvm::ISD::UMULO, llvm::ISD::FADD, llvm::ISD::FSUB,
  llvm::ISD::FMUL, llvm::ISD::FDIV, llvm::ISD::FREM, llvm::ISD::FCOPYSIGN,
  llvm::ISD::FGETSIGN, llvm::ISD::BUILD_VECTOR, llvm::ISD::INSERT_VECTOR_ELT, llvm::ISD::EXTRACT_VECTOR_ELT,
  llvm::ISD::CONCAT_VECTORS, llvm::ISD::EXTRACT_SUBVECTOR, llvm::ISD::VECTOR_SHUFFLE, llvm::ISD::SCALAR_TO_VECTOR,
  llvm::ISD::EXTRACT_SUBREG, llvm::ISD::INSERT_SUBREG, llvm::ISD::MULHU, llvm::ISD::MULHS,
  llvm::ISD::AND, llvm::ISD::OR, llvm::ISD::XOR, llvm::ISD::SHL,
  llvm::ISD::SRA, llvm::ISD::SRL, llvm::ISD::ROTL, llvm::ISD::ROTR,
  llvm::ISD::BSWAP, llvm::ISD::CTTZ, llvm::ISD::CTLZ, llvm::ISD::CTPOP,
  llvm::ISD::SELECT, llvm::ISD::SELECT_CC, llvm::ISD::SETCC, llvm::ISD::VSETCC,
  llvm::ISD::SHL_PARTS, llvm::ISD::SRA_PARTS, llvm::ISD::SRL_PARTS, llvm::ISD::SIGN_EXTEND,
  llvm::ISD::ZERO_EXTEND, llvm::ISD::ANY_EXTEND, llvm::ISD::TRUNCATE, llvm::ISD::SINT_TO_FP,
  llvm::ISD::UINT_TO_FP, llvm::ISD::SIGN_EXTEND_INREG, llvm::ISD::FP_TO_SINT, llvm::ISD::FP_TO_UINT,
  llvm::ISD::FP_ROUND, llvm::ISD::FLT_ROUNDS_, llvm::ISD::FP_ROUND_INREG, llvm::ISD::FP_EXTEND,
  llvm::ISD::BIT_CONVERT, llvm::ISD::CONVERT_RNDSAT, llvm::ISD::FNEG, llvm::ISD::FABS,
  llvm::ISD::FSQRT, llvm::ISD::FSIN, llvm::ISD::FCOS, llvm::ISD::FPOWI,
  llvm::ISD::FPOW, llvm::ISD::FLOG, llvm::ISD::FLOG2, llvm::ISD::FLOG10,
  llvm::ISD::FEXP, llvm::ISD::FEXP2, llvm::ISD::FCEIL, llvm::ISD::FTRUNC,
  llvm::ISD::FRINT, llvm::ISD::FNEARBYINT, llvm::ISD::FFLOOR, llvm::ISD::LOAD,
  llvm::ISD::STORE, llvm::ISD::DYNAMIC_STACKALLOC, llvm::ISD::BR, llvm::ISD::BRIND,
  llvm::ISD::BR_JT, llvm::ISD::BRCOND, llvm::ISD::BR_CC, llvm::ISD::RET,
  llvm::ISD::INLINEASM, llvm::ISD::DBG_LABEL, llvm::ISD::EH_LABEL, llvm::ISD::DECLARE,
  llvm::ISD::STACKSAVE, llvm::ISD::STACKRESTORE, llvm::ISD::CALLSEQ_START, llvm::ISD::CALLSEQ_END,
  llvm::ISD::VAARG, llvm::ISD::VACOPY, llvm::ISD::VAEND, llvm::ISD::VASTART,
  llvm::ISD::SRCVALUE, llvm::ISD::MEMOPERAND, llvm::ISD::PCMARKER, llvm::ISD::READCYCLECOUNTER,
  llvm::ISD::HANDLENODE, llvm::ISD::DBG_STOPPOINT, llvm::ISD::DEBUG_LOC, llvm::ISD::TRAMPOLINE,
  llvm::ISD::TRAP, llvm::ISD::PREFETCH, llvm::ISD::MEMBARRIER, llvm::ISD::ATOMIC_CMP_SWAP,
  llvm::ISD::ATOMIC_SWAP, llvm::ISD::ATOMIC_LOAD_ADD, llvm::ISD::ATOMIC_LOAD_SUB, llvm::ISD::ATOMIC_LOAD_AND,
  llvm::ISD::ATOMIC_LOAD_OR, llvm::ISD::ATOMIC_LOAD_XOR, llvm::ISD::ATOMIC_LOAD_NAND, llvm::ISD::ATOMIC_LOAD_MIN,
  llvm::ISD::ATOMIC_LOAD_MAX, llvm::ISD::ATOMIC_LOAD_UMIN, llvm::ISD::ATOMIC_LOAD_UMAX, llvm::ISD::BUILTIN_OP_END
}
enum  llvm::ISD::MemIndexedMode {
  llvm::ISD::UNINDEXED = 0, llvm::ISD::PRE_INC, llvm::ISD::PRE_DEC, llvm::ISD::POST_INC,
  llvm::ISD::POST_DEC, llvm::ISD::LAST_INDEXED_MODE
}
enum  llvm::ISD::LoadExtType {
  llvm::ISD::NON_EXTLOAD = 0, llvm::ISD::EXTLOAD, llvm::ISD::SEXTLOAD, llvm::ISD::ZEXTLOAD,
  llvm::ISD::LAST_LOADEXT_TYPE
}
enum  llvm::ISD::CondCode {
  llvm::ISD::SETFALSE, llvm::ISD::SETOEQ, llvm::ISD::SETOGT, llvm::ISD::SETOGE,
  llvm::ISD::SETOLT, llvm::ISD::SETOLE, llvm::ISD::SETONE, llvm::ISD::SETO,
  llvm::ISD::SETUO, llvm::ISD::SETUEQ, llvm::ISD::SETUGT, llvm::ISD::SETUGE,
  llvm::ISD::SETULT, llvm::ISD::SETULE, llvm::ISD::SETUNE, llvm::ISD::SETTRUE,
  llvm::ISD::SETFALSE2, llvm::ISD::SETEQ, llvm::ISD::SETGT, llvm::ISD::SETGE,
  llvm::ISD::SETLT, llvm::ISD::SETLE, llvm::ISD::SETNE, llvm::ISD::SETTRUE2,
  llvm::ISD::SETCC_INVALID
}
enum  llvm::ISD::CvtCode {
  llvm::ISD::CVT_FF, llvm::ISD::CVT_FS, llvm::ISD::CVT_FU, llvm::ISD::CVT_SF,
  llvm::ISD::CVT_UF, llvm::ISD::CVT_SS, llvm::ISD::CVT_SU, llvm::ISD::CVT_US,
  llvm::ISD::CVT_UU, llvm::ISD::CVT_INVALID
}

Functions

bool llvm::ISD::isBuildVectorAllOnes (const SDNode *N)
 Node predicates.
bool llvm::ISD::isBuildVectorAllZeros (const SDNode *N)
bool llvm::ISD::isScalarToVector (const SDNode *N)
bool llvm::ISD::isDebugLabel (const SDNode *N)
bool llvm::ISD::isSignedIntSetCC (CondCode Code)
bool llvm::ISD::isUnsignedIntSetCC (CondCode Code)
bool llvm::ISD::isTrueWhenEqual (CondCode Cond)
unsigned llvm::ISD::getUnorderedFlavor (CondCode Cond)
CondCode llvm::ISD::getSetCCInverse (CondCode Operation, bool isInteger)
CondCode llvm::ISD::getSetCCSwappedOperands (CondCode Operation)
CondCode llvm::ISD::getSetCCOrOperation (CondCode Op1, CondCode Op2, bool isInteger)
CondCode llvm::ISD::getSetCCAndOperation (CondCode Op1, CondCode Op2, bool isInteger)
bool llvm::ISD::isNormalLoad (const SDNode *N)
bool llvm::ISD::isNON_EXTLoad (const SDNode *N)
bool llvm::ISD::isEXTLoad (const SDNode *N)
bool llvm::ISD::isSEXTLoad (const SDNode *N)
bool llvm::ISD::isZEXTLoad (const SDNode *N)
bool llvm::ISD::isUNINDEXEDLoad (const SDNode *N)
bool llvm::ISD::isNormalStore (const SDNode *N)
bool llvm::ISD::isNON_TRUNCStore (const SDNode *N)
bool llvm::ISD::isTRUNCStore (const SDNode *N)
bool llvm::ISD::isUNINDEXEDStore (const SDNode *N)




This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.