LLVM  8.0.1
Namespaces | Enumerations | Functions | Variables
ISDOpcodes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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.
 

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::CONDCODE,
  llvm::ISD::Register, llvm::ISD::RegisterMask, 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::BlockAddress, llvm::ISD::GLOBAL_OFFSET_TABLE,
  llvm::ISD::FRAMEADDR, llvm::ISD::RETURNADDR, llvm::ISD::ADDROFRETURNADDR, llvm::ISD::SPONENTRY,
  llvm::ISD::LOCAL_RECOVER, llvm::ISD::READ_REGISTER, llvm::ISD::WRITE_REGISTER, llvm::ISD::FRAME_TO_ARGS_OFFSET,
  llvm::ISD::EH_DWARF_CFA, llvm::ISD::EH_RETURN, llvm::ISD::EH_SJLJ_SETJMP, llvm::ISD::EH_SJLJ_LONGJMP,
  llvm::ISD::EH_SJLJ_SETUP_DISPATCH, 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::TargetBlockAddress, llvm::ISD::MCSymbol, llvm::ISD::TargetIndex,
  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::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::ADDCARRY, llvm::ISD::SUBCARRY, llvm::ISD::SADDO,
  llvm::ISD::UADDO, llvm::ISD::SSUBO, llvm::ISD::USUBO, llvm::ISD::SMULO,
  llvm::ISD::UMULO, llvm::ISD::SADDSAT, llvm::ISD::UADDSAT, llvm::ISD::SSUBSAT,
  llvm::ISD::USUBSAT, llvm::ISD::SMULFIX, llvm::ISD::FADD, llvm::ISD::FSUB,
  llvm::ISD::FMUL, llvm::ISD::FDIV, llvm::ISD::FREM, llvm::ISD::STRICT_FADD,
  llvm::ISD::STRICT_FSUB, llvm::ISD::STRICT_FMUL, llvm::ISD::STRICT_FDIV, llvm::ISD::STRICT_FREM,
  llvm::ISD::STRICT_FMA, llvm::ISD::STRICT_FSQRT, llvm::ISD::STRICT_FPOW, llvm::ISD::STRICT_FPOWI,
  llvm::ISD::STRICT_FSIN, llvm::ISD::STRICT_FCOS, llvm::ISD::STRICT_FEXP, llvm::ISD::STRICT_FEXP2,
  llvm::ISD::STRICT_FLOG, llvm::ISD::STRICT_FLOG10, llvm::ISD::STRICT_FLOG2, llvm::ISD::STRICT_FRINT,
  llvm::ISD::STRICT_FNEARBYINT, llvm::ISD::STRICT_FMAXNUM, llvm::ISD::STRICT_FMINNUM, llvm::ISD::STRICT_FCEIL,
  llvm::ISD::STRICT_FFLOOR, llvm::ISD::STRICT_FROUND, llvm::ISD::STRICT_FTRUNC, llvm::ISD::FMA,
  llvm::ISD::FMAD, llvm::ISD::FCOPYSIGN, llvm::ISD::FGETSIGN, llvm::ISD::FCANONICALIZE,
  llvm::ISD::BUILD_VECTOR, llvm::ISD::INSERT_VECTOR_ELT, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::ISD::CONCAT_VECTORS,
  llvm::ISD::INSERT_SUBVECTOR, llvm::ISD::EXTRACT_SUBVECTOR, llvm::ISD::VECTOR_SHUFFLE, llvm::ISD::SCALAR_TO_VECTOR,
  llvm::ISD::MULHU, llvm::ISD::MULHS, llvm::ISD::SMIN, llvm::ISD::SMAX,
  llvm::ISD::UMIN, llvm::ISD::UMAX, llvm::ISD::AND, llvm::ISD::OR,
  llvm::ISD::XOR, llvm::ISD::ABS, llvm::ISD::SHL, llvm::ISD::SRA,
  llvm::ISD::SRL, llvm::ISD::ROTL, llvm::ISD::ROTR, llvm::ISD::FSHL,
  llvm::ISD::FSHR, llvm::ISD::BSWAP, llvm::ISD::CTTZ, llvm::ISD::CTLZ,
  llvm::ISD::CTPOP, llvm::ISD::BITREVERSE, llvm::ISD::CTTZ_ZERO_UNDEF, llvm::ISD::CTLZ_ZERO_UNDEF,
  llvm::ISD::SELECT, llvm::ISD::VSELECT, llvm::ISD::SELECT_CC, llvm::ISD::SETCC,
  llvm::ISD::SETCCCARRY, 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::ANY_EXTEND_VECTOR_INREG,
  llvm::ISD::SIGN_EXTEND_VECTOR_INREG, llvm::ISD::ZERO_EXTEND_VECTOR_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::BITCAST, llvm::ISD::ADDRSPACECAST, llvm::ISD::FP16_TO_FP, llvm::ISD::FP_TO_FP16,
  llvm::ISD::FNEG, llvm::ISD::FABS, llvm::ISD::FSQRT, llvm::ISD::FCBRT,
  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::FROUND, llvm::ISD::FFLOOR, llvm::ISD::FMINNUM,
  llvm::ISD::FMAXNUM, llvm::ISD::FMINNUM_IEEE, llvm::ISD::FMAXNUM_IEEE, llvm::ISD::FMINIMUM,
  llvm::ISD::FMAXIMUM, llvm::ISD::FSINCOS, 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::INLINEASM, llvm::ISD::EH_LABEL,
  llvm::ISD::ANNOTATION_LABEL, llvm::ISD::CATCHPAD, llvm::ISD::CATCHRET, llvm::ISD::CLEANUPRET,
  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::MDNODE_SDNODE, llvm::ISD::PCMARKER, llvm::ISD::READCYCLECOUNTER,
  llvm::ISD::HANDLENODE, llvm::ISD::INIT_TRAMPOLINE, llvm::ISD::ADJUST_TRAMPOLINE, llvm::ISD::TRAP,
  llvm::ISD::DEBUGTRAP, llvm::ISD::PREFETCH, llvm::ISD::ATOMIC_FENCE, llvm::ISD::ATOMIC_LOAD,
  llvm::ISD::ATOMIC_STORE, llvm::ISD::ATOMIC_CMP_SWAP, llvm::ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, llvm::ISD::ATOMIC_SWAP,
  llvm::ISD::ATOMIC_LOAD_ADD, llvm::ISD::ATOMIC_LOAD_SUB, llvm::ISD::ATOMIC_LOAD_AND, llvm::ISD::ATOMIC_LOAD_CLR,
  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::MLOAD,
  llvm::ISD::MSTORE, llvm::ISD::MGATHER, llvm::ISD::MSCATTER, llvm::ISD::LIFETIME_START,
  llvm::ISD::LIFETIME_END, llvm::ISD::GC_TRANSITION_START, llvm::ISD::GC_TRANSITION_END, llvm::ISD::GET_DYNAMIC_AREA_OFFSET,
  llvm::ISD::VECREDUCE_STRICT_FADD, llvm::ISD::VECREDUCE_STRICT_FMUL, llvm::ISD::VECREDUCE_FADD, llvm::ISD::VECREDUCE_FMUL,
  llvm::ISD::VECREDUCE_ADD, llvm::ISD::VECREDUCE_MUL, llvm::ISD::VECREDUCE_AND, llvm::ISD::VECREDUCE_OR,
  llvm::ISD::VECREDUCE_XOR, llvm::ISD::VECREDUCE_SMAX, llvm::ISD::VECREDUCE_SMIN, llvm::ISD::VECREDUCE_UMAX,
  llvm::ISD::VECREDUCE_UMIN, llvm::ISD::VECREDUCE_FMAX, llvm::ISD::VECREDUCE_FMIN, llvm::ISD::BUILTIN_OP_END
}
 ISD::NodeType enum - This enum defines the target-independent operators for a SelectionDAG. More...
 
enum  llvm::ISD::MemIndexedMode {
  llvm::ISD::UNINDEXED = 0, llvm::ISD::PRE_INC, llvm::ISD::PRE_DEC, llvm::ISD::POST_INC,
  llvm::ISD::POST_DEC
}
 MemIndexedMode enum - This enum defines the load / store indexed addressing modes. More...
 
enum  llvm::ISD::LoadExtType { llvm::ISD::NON_EXTLOAD = 0, llvm::ISD::EXTLOAD, llvm::ISD::SEXTLOAD, llvm::ISD::ZEXTLOAD }
 LoadExtType enum - This enum defines the three variants of LOADEXT (load with extension). More...
 
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
}
 ISD::CondCode enum - These are ordered carefully to make the bitfields below work out, when considering SETFALSE (something that never exists dynamically) as 0. More...
 

Functions

NodeType llvm::ISD::getExtForLoadExtType (bool IsFP, LoadExtType)
 
bool llvm::ISD::isSignedIntSetCC (CondCode Code)
 Return true if this is a setcc instruction that performs a signed comparison when used with integer operands. More...
 
bool llvm::ISD::isUnsignedIntSetCC (CondCode Code)
 Return true if this is a setcc instruction that performs an unsigned comparison when used with integer operands. More...
 
bool llvm::ISD::isTrueWhenEqual (CondCode Cond)
 Return true if the specified condition returns true if the two operands to the condition are equal. More...
 
unsigned llvm::ISD::getUnorderedFlavor (CondCode Cond)
 This function returns 0 if the condition is always false if an operand is a NaN, 1 if the condition is always true if the operand is a NaN, and 2 if the condition is undefined if the operand is a NaN. More...
 
CondCode llvm::ISD::getSetCCInverse (CondCode Operation, bool isInteger)
 Return the operation corresponding to !(X op Y), where 'op' is a valid SetCC operation. More...
 
CondCode llvm::ISD::getSetCCSwappedOperands (CondCode Operation)
 Return the operation corresponding to (Y op X) when given the operation for (X op Y). More...
 
CondCode llvm::ISD::getSetCCOrOperation (CondCode Op1, CondCode Op2, bool isInteger)
 Return the result of a logical OR between different comparisons of identical values: ((X op1 Y) | (X op2 Y)). More...
 
CondCode llvm::ISD::getSetCCAndOperation (CondCode Op1, CondCode Op2, bool isInteger)
 Return the result of a logical AND between different comparisons of identical values: ((X op1 Y) & (X op2 Y)). More...
 

Variables

static const int llvm::ISD::FIRST_TARGET_MEMORY_OPCODE = BUILTIN_OP_END+400
 FIRST_TARGET_MEMORY_OPCODE - Target-specific pre-isel operations which do not reference a specific memory location should be less than this value. More...
 
static const int llvm::ISD::LAST_INDEXED_MODE = POST_DEC + 1
 
static const int llvm::ISD::LAST_LOADEXT_TYPE = ZEXTLOAD + 1