LLVM API Documentation
If you add new elements here you should increase OpActionsCapacity in TargetLowering.h by the number of new elements.
|
|
ISD::CondCode enum - These are ordered carefully to make the bitfields below work out, when considering SETFALSE (something that never exists dynamically) as 0. "U" -> Unsigned (for integer operands) or Unordered (for floating point), "L" -> Less than, "G" -> Greater than, "E" -> Equal to. If the "N" column is 1, the result of the comparison is undefined if the input is a NAN. All of these (except for the 'always folded ops') should be handled for floating point. For integer, only the SETEQ,SETNE,SETLT,SETLE,SETGT, SETGE,SETULT,SETULE,SETUGT, and SETUGE opcodes are used. Note that these are laid out in a specific order to allow bit-twiddling to transform conditions.
Definition at line 748 of file SelectionDAGNodes.h. |
|
|
LoadExtType enum - This enum defines the three variants of LOADEXT (load with extension). SEXTLOAD loads the integer operand and sign extends it to a larger integer result type. ZEXTLOAD loads the integer operand and zero extends it to a larger integer result type. EXTLOAD is used for three things: floating point extending loads, integer extending loads [the top bits are undefined], and vector extending loads [load into low elt]. Definition at line 726 of file SelectionDAGNodes.h. |
|
|
MemIndexedMode enum - This enum defines the load / store indexed addressing modes. UNINDEXED "Normal" load / store. The effective address is already computed and is available in the base pointer. The offset operand is always undefined. In addition to producing a chain, an unindexed load produces one value (result of the load); an unindexed store does not produce a value. PRE_INC Similar to the unindexed mode where the effective address is PRE_DEC the value of the base pointer add / subtract the offset. It considers the computation as being folded into the load / store operation (i.e. the load / store does the address computation as well as performing the memory transaction). The base operand is always undefined. In addition to producing a chain, pre-indexed load produces two values (result of the load and the result of the address computation); a pre-indexed store produces one value (result of the address computation). POST_INC The effective address is the value of the base pointer. The POST_DEC value of the offset operand is then added to / subtracted from the base after memory transaction. In addition to producing a chain, post-indexed load produces two values (the result of the load and the result of the base +/- offset computation); a post-indexed store produces one value (the the result of the base +/- offset computation). Definition at line 705 of file SelectionDAGNodes.h. |
|
|
ISD::NodeType enum - This enum defines all of the operators valid in a SelectionDAG.
Definition at line 69 of file SelectionDAGNodes.h. |
|
||||||||||||||||
|
getSetCCAndOperation - Return the result of a logical AND between different comparisons of identical values: ((X op1 Y) & (X op2 Y)). This function returns SETCC_INVALID if it is not possible to represent the resultant comparison. |
|
||||||||||||
|
getSetCCInverse - Return the operation corresponding to !(X op Y), where 'op' is a valid SetCC operation. Referenced by combineSelectAndUse(), and llvm::TargetLowering::SimplifySetCC(). |
|
||||||||||||||||
|
getSetCCOrOperation - Return the result of a logical OR between different comparisons of identical values: ((X op1 Y) | (X op2 Y)). This function returns SETCC_INVALID if it is not possible to represent the resultant comparison. |
|
|
getSetCCSwappedOperands - Return the operation corresponding to (Y op X) when given the operation for (X op Y). |
|
|
getUnorderedFlavor - 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. Definition at line 802 of file SelectionDAGNodes.h. Referenced by llvm::TargetLowering::SimplifySetCC(). |
|
|
Node predicates. isBuildVectorAllOnes - Return true if the specified node is a BUILD_VECTOR where all of the elements are ~0 or undef. |
|
|
isBuildVectorAllZeros - Return true if the specified node is a BUILD_VECTOR where all of the elements are 0 or undef. Referenced by isZeroShuffle(). |
|
|
isDebugLabel - Return true if the specified node represents a debug label (i.e. ISD::DBG_LABEL or TargetInstrInfo::DBG_LABEL node). |
|
|
isEXTLoad - Returns true if the specified node is a EXTLOAD. Definition at line 2385 of file SelectionDAGNodes.h. Referenced by isFloatingPointZero(). |
|
|
isNON_EXTLoad - Returns true if the specified node is a non-extending load. Definition at line 2378 of file SelectionDAGNodes.h. Referenced by EltsFromConsecutiveLoads(), isFloatingPointZero(), isScalarLoadToVector(), llvm::PPCTargetLowering::PerformDAGCombine(), ShouldXformToMOVLP(), and translateX86CC(). |
|
|
isNON_TRUNCStore - Returns true if the specified node is a non-truncating store. Definition at line 2421 of file SelectionDAGNodes.h. Referenced by llvm::PIC16TargetLowering::LowerLOAD(), and IA64DAGToDAGISel::Select(). |
|
|
isNormalLoad - Returns true if the specified node is a non-extending and unindexed load. Definition at line 2370 of file SelectionDAGNodes.h. References llvm::LSBaseSDNode::getAddressingMode(), and llvm::LoadSDNode::getExtensionType(). |
|
|
isNormalStore - Returns true if the specified node is a non-truncating and unindexed store. Definition at line 2413 of file SelectionDAGNodes.h. |
|
|
isScalarToVector - Return true if the specified node is a ISD::SCALAR_TO_VECTOR node or a BUILD_VECTOR node where only the low element is not an undef. |
|
|
isSEXTLoad - Returns true if the specified node is a SEXTLOAD. Definition at line 2392 of file SelectionDAGNodes.h. |
|
|
isSignedIntSetCC - Return true if this is a setcc instruction that performs a signed comparison when used with integer operands. Definition at line 781 of file SelectionDAGNodes.h. References SETGE, SETGT, and SETLT. Referenced by ExtendUsesToFormExtLoad(), and llvm::TargetLowering::SimplifySetCC(). |
|
|
isTrueWhenEqual - Return true if the specified condition returns true if the two operands to the condition are equal. Note that if one of the two operands is a NaN, this value is meaningless. Definition at line 794 of file SelectionDAGNodes.h. Referenced by llvm::ICmpInst::isTrueWhenEqual(). |
|
|
isTRUNCStore - Returns true if the specified node is a truncating store. Definition at line 2427 of file SelectionDAGNodes.h. |
|
|
isUNINDEXEDLoad - Returns true if the specified node is an unindexed load. Definition at line 2406 of file SelectionDAGNodes.h. |
|
|
isUNINDEXEDStore - Returns true if the specified node is an unindexed store. Definition at line 2433 of file SelectionDAGNodes.h. |
|
|
isUnsignedIntSetCC - Return true if this is a setcc instruction that performs an unsigned comparison when used with integer operands. Definition at line 787 of file SelectionDAGNodes.h. References SETUGE, SETUGT, and SETULT. Referenced by PPCDAGToDAGISel::SelectCC(). |
|
|
isZEXTLoad - Returns true if the specified node is a ZEXTLOAD. Definition at line 2399 of file SelectionDAGNodes.h. Referenced by llvm::SelectionDAG::ComputeMaskedBits(). |