LLVM API Documentation

SelectionDAGNodes.h File Reference

#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/Value.h"
#include "llvm/ADT/GraphTraits.h"
#include "llvm/ADT/iterator"
#include "llvm/Support/DataTypes.h"
#include <cassert>
#include <vector>

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

class  llvm::SDOperand
struct  llvm::simplify_type< SDOperand >
struct  llvm::simplify_type< const SDOperand >
class  llvm::SDNode
class  llvm::HandleSDNode
class  llvm::StringSDNode
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::RegisterSDNode
class  llvm::ExternalSymbolSDNode
class  llvm::CondCodeSDNode
class  llvm::VTSDNode
class  llvm::SDNodeIterator
struct  llvm::GraphTraits< SDNode * >
struct  llvm::ilist_traits< SDNode >

Enumerations

enum  llvm::ISD::NodeType {
  llvm::ISD::DELETED_NODE, llvm::ISD::EntryToken, llvm::ISD::TokenFactor, llvm::ISD::AssertSext,
  llvm::ISD::AssertZext, llvm::ISD::STRING, llvm::ISD::BasicBlock, llvm::ISD::VALUETYPE,
  llvm::ISD::CONDCODE, llvm::ISD::Register, llvm::ISD::Constant, llvm::ISD::ConstantFP,
  llvm::ISD::GlobalAddress, llvm::ISD::FrameIndex, llvm::ISD::JumpTable, llvm::ISD::ConstantPool,
  llvm::ISD::ExternalSymbol, llvm::ISD::TargetConstant, llvm::ISD::TargetConstantFP, llvm::ISD::TargetGlobalAddress,
  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::ADDC, llvm::ISD::SUBC,
  llvm::ISD::ADDE, llvm::ISD::SUBE, llvm::ISD::FADD, llvm::ISD::FSUB,
  llvm::ISD::FMUL, llvm::ISD::FDIV, llvm::ISD::FREM, llvm::ISD::FCOPYSIGN,
  llvm::ISD::VBUILD_VECTOR, llvm::ISD::BUILD_VECTOR, llvm::ISD::VINSERT_VECTOR_ELT, llvm::ISD::INSERT_VECTOR_ELT,
  llvm::ISD::VEXTRACT_VECTOR_ELT, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::ISD::VVECTOR_SHUFFLE, llvm::ISD::VECTOR_SHUFFLE,
  llvm::ISD::VBIT_CONVERT, llvm::ISD::VADD, llvm::ISD::VSUB, llvm::ISD::VMUL,
  llvm::ISD::VSDIV, llvm::ISD::VUDIV, llvm::ISD::VAND, llvm::ISD::VOR,
  llvm::ISD::VXOR, llvm::ISD::VSELECT, llvm::ISD::SCALAR_TO_VECTOR, 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::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::FP_ROUND_INREG, llvm::ISD::FP_EXTEND, llvm::ISD::BIT_CONVERT,
  llvm::ISD::FNEG, llvm::ISD::FABS, llvm::ISD::FSQRT, llvm::ISD::FSIN,
  llvm::ISD::FCOS, llvm::ISD::LOAD, llvm::ISD::STORE, llvm::ISD::VLOAD,
  llvm::ISD::EXTLOAD, llvm::ISD::SEXTLOAD, llvm::ISD::ZEXTLOAD, llvm::ISD::TRUNCSTORE,
  llvm::ISD::DYNAMIC_STACKALLOC, llvm::ISD::BR, llvm::ISD::BRIND, llvm::ISD::BRCOND,
  llvm::ISD::BR_CC, llvm::ISD::RET, llvm::ISD::INLINEASM, llvm::ISD::STACKSAVE,
  llvm::ISD::STACKRESTORE, llvm::ISD::MEMSET, llvm::ISD::MEMMOVE, llvm::ISD::MEMCPY,
  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::PCMARKER,
  llvm::ISD::READCYCLECOUNTER, llvm::ISD::HANDLENODE, llvm::ISD::LOCATION, llvm::ISD::DEBUG_LOC,
  llvm::ISD::DEBUG_LABEL, llvm::ISD::BUILTIN_OP_END
}
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
}

Functions

bool llvm::ISD::isBuildVectorAllOnes (const SDNode *N)
 Node predicates.
bool llvm::ISD::isBuildVectorAllZeros (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)