Lines Matching refs:Operand
214 /// allOperandsUndef - Return true if the node has at least one operand
544 // Add the operand info.
628 // Next, brutally remove the operand list. This is safe to do, as there are
632 SDNode *Operand = Use.getNode();
635 // Now that we removed this operand, see if there are no uses of it left.
636 if (Operand->use_empty())
637 DeadNodes.push_back(Operand);
648 // it from being deleted. (This matters if the root is an operand of the
711 "Mismatched operand types!");
713 "Wrong operand type!");
728 "Wrong operand type!");
2099 // If low bits are zero in either operand, output low known-0 bits.
2424 // The low bits of the first operand are unchanged by the srem.
2428 // If the first operand is non-negative or has all low bits zero, then
2433 // If the first operand is negative and not all low bits are zero, then
2455 // Since the result is less than or equal to either operand, any leading
2456 // zero bits in either operand must also exist in the result.
2773 /// isBaseWithConstantOffset - Return true if the specified operand is an
2864 EVT VT, SDValue Operand) {
2865 // Constant fold unary operations with an integer constant operand. Even
2870 if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Operand)) {
2918 // Constant fold unary operations with a floating point constant operand.
2919 if (ConstantFPSDNode *C = dyn_cast<ConstantFPSDNode>(Operand)) {
2979 // Constant fold unary operations with a vector integer or float operand.
2980 if (BuildVectorSDNode *BV = dyn_cast<BuildVectorSDNode>(Operand)) {
3004 SDValue Ops = { Operand };
3012 unsigned OpOpcode = Operand.getNode()->getOpcode();
3017 return Operand; // Factor, merge or concat of one node? No need.
3021 Operand.getValueType().isFloatingPoint() && "Invalid FP cast!");
3022 if (Operand.getValueType() == VT) return Operand; // noop conversion.
3025 Operand.getValueType().getVectorNumElements()) &&
3027 assert(Operand.getValueType().bitsLT(VT) &&
3029 if (Operand.getOpcode() == ISD::UNDEF)
3033 assert(VT.isInteger() && Operand.getValueType().isInteger() &&
3035 if (Operand.getValueType() == VT) return Operand; // noop extension
3038 Operand.getValueType().getVectorNumElements()) &&
3040 assert(Operand.getValueType().bitsLT(VT) &&
3043 return getNode(OpOpcode, DL, VT, Operand.getNode()->getOperand(0));
3049 assert(VT.isInteger() && Operand.getValueType().isInteger() &&
3051 if (Operand.getValueType() == VT) return Operand; // noop extension
3054 Operand.getValueType().getVectorNumElements()) &&
3056 assert(Operand.getValueType().bitsLT(VT) &&
3060 Operand.getNode()->getOperand(0));
3066 assert(VT.isInteger() && Operand.getValueType().isInteger() &&
3068 if (Operand.getValueType() == VT) return Operand; // noop extension
3071 Operand.getValueType().getVectorNumElements()) &&
3073 assert(Operand.getValueType().bitsLT(VT) &&
3079 return getNode(OpOpcode, DL, VT, Operand.getNode()->getOperand(0));
3085 SDValue OpOp = Operand.getNode()->getOperand(0);
3091 assert(VT.isInteger() && Operand
3093 if (Operand.getValueType() == VT) return Operand; // noop truncate
3096 Operand.getValueType().getVectorNumElements()) &&
3098 assert(Operand.getValueType().bitsGT(VT) &&
3101 return getNode(ISD::TRUNCATE, DL, VT, Operand.getNode()->getOperand(0));
3105 if (Operand.getNode()->getOperand(0).getValueType().getScalarType()
3107 return getNode(OpOpcode, DL, VT, Operand.getNode()->getOperand(0));
3108 if (Operand.getNode()->getOperand(0).getValueType().bitsGT(VT))
3109 return getNode(ISD::TRUNCATE, DL, VT, Operand.getNode()->getOperand(0));
3110 return Operand.getNode()->getOperand(0);
3116 assert(VT.isInteger() && VT == Operand.getValueType() &&
3125 assert(VT.getSizeInBits() == Operand.getValueType().getSizeInBits()
3127 if (VT == Operand.getValueType()) return Operand; // noop conversion.
3129 return getNode(ISD::BITCAST, DL, VT, Operand.getOperand(0));
3134 assert(VT.isVector() && !Operand.getValueType().isVector() &&
3135 (VT.getVectorElementType() == Operand.getValueType() ||
3137 Operand.getValueType().isInteger() &&
3138 VT.getVectorElementType().bitsLE(Operand.getValueType()))) &&
3144 isa<ConstantSDNode>(Operand.getOperand(1)) &&
3145 Operand.getConstantOperandVal(1) == 0 &&
3146 Operand.getOperand(0).getValueType() == VT)
3147 return Operand.getOperand(0);
3153 return getNode(ISD::FSUB, DL, VT, Operand.getNode()->getOperand(1),
3154 Operand.getNode()->getOperand(0),
3155 &cast<BinaryWithFlagsSDNode>(Operand.getNode())->Flags);
3157 return Operand.getNode()->getOperand(0);
3161 return getNode(ISD::FABS, DL, VT, Operand.getNode()->getOperand(0));
3169 SDValue Ops[1] = { Operand };
3176 DL.getDebugLoc(), VTs, Operand);
3180 DL.getDebugLoc(), VTs, Operand);
3241 // do here and the operand rules may not line up with the below, so
3312 // do here and the operand rules may not line up with the below, so
3561 "FP_ROUND_INREG type should be vector iff the operand "
3597 "SIGN_EXTEND_INREG type should be vector iff the operand "
4039 /// operand.
4278 // Expand memcpy to a series of load and store ops if the size operand falls
4393 // Expand memmove to a series of load and store ops if the size operand falls
4487 // Expand memset to a series of load/store ops if the size operand
6000 // MachineSDNode, reallocate the operand list.
6017 // the operand list.
6210 SDValue Operand) {
6213 VT, Operand, SRIdxVal);
6221 SDValue Operand, SDValue Subreg) {
6224 VT, Operand, Subreg, SRIdxVal);
6581 // operand count. Before we do this, the Node Id fields of the nodes
6609 // N is in sorted position, so all its uses have one less operand
6625 // Update P's outstanding operand count.
6741 // We check here that the size of the memory operand fits within the size of
6840 /// isOperand - Return true if this node is an operand of N.
6856 /// reachesChainWithoutSideEffects - Return true if this operand (which must
6857 /// be a chain) reaches the specified operand without crossing any
6887 /// N is either an operand of this node, or can be reached by recursively
6956 SDValue Operand = N->getOperand(j);
6957 EVT OperandVT = Operand.getValueType();
6959 // A vector operand; extract a single element.
6962 getNode(ISD::EXTRACT_VECTOR_ELT, dl, OperandEltVT, Operand,
6965 // A scalar operand; just use it as is.
6966 Operands[j] = Operand;
7036 // the second load's first add operand should be the base address.