reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/SelectionDAG/SelectionDAG.cpp
 4291       return getConstant(Val.sextOrTrunc(VT.getSizeInBits()), DL, VT,
 4291       return getConstant(Val.sextOrTrunc(VT.getSizeInBits()), DL, VT,
 4299       return getConstant(Val.zextOrTrunc(VT.getSizeInBits()), DL, VT,
 4299       return getConstant(Val.zextOrTrunc(VT.getSizeInBits()), DL, VT,
 4303       APFloat apf(EVTToAPFloatSemantics(VT),
 4304                   APInt::getNullValue(VT.getSizeInBits()));
 4308       return getConstantFP(apf, DL, VT);
 4311       if (VT == MVT::f16 && C->getValueType(0) == MVT::i16)
 4312         return getConstantFP(APFloat(APFloat::IEEEhalf(), Val), DL, VT);
 4313       if (VT == MVT::f32 && C->getValueType(0) == MVT::i32)
 4314         return getConstantFP(APFloat(APFloat::IEEEsingle(), Val), DL, VT);
 4315       if (VT == MVT::f64 && C->getValueType(0) == MVT::i64)
 4316         return getConstantFP(APFloat(APFloat::IEEEdouble(), Val), DL, VT);
 4317       if (VT == MVT::f128 && C->getValueType(0) == MVT::i128)
 4318         return getConstantFP(APFloat(APFloat::IEEEquad(), Val), DL, VT);
 4321       return getConstant(Val.abs(), DL, VT, C->isTargetOpcode(),
 4324       return getConstant(Val.reverseBits(), DL, VT, C->isTargetOpcode(),
 4327       return getConstant(Val.byteSwap(), DL, VT, C->isTargetOpcode(),
 4330       return getConstant(Val.countPopulation(), DL, VT, C->isTargetOpcode(),
 4334       return getConstant(Val.countLeadingZeros(), DL, VT, C->isTargetOpcode(),
 4338       return getConstant(Val.countTrailingZeros(), DL, VT, C->isTargetOpcode(),
 4347       (void)FPV.convert(EVTToAPFloatSemantics(VT),
 4349       return getConstantFP(FPV, DL, VT);
 4360       return getConstantFP(V, DL, VT);
 4363       return getConstantFP(V, DL, VT);
 4367         return getConstantFP(V, DL, VT);
 4373         return getConstantFP(V, DL, VT);
 4379         return getConstantFP(V, DL, VT);
 4386       (void)V.convert(EVTToAPFloatSemantics(VT),
 4388       return getConstantFP(V, DL, VT);
 4393       APSInt IntVal(VT.getSizeInBits(), Opcode == ISD::FP_TO_UINT);
 4399       return getConstant(IntVal, DL, VT);
 4402       if (VT == MVT::i16 && C->getValueType(0) == MVT::f16)
 4403         return getConstant((uint16_t)V.bitcastToAPInt().getZExtValue(), DL, VT);
 4404       else if (VT == MVT::i32 && C->getValueType(0) == MVT::f32)
 4405         return getConstant((uint32_t)V.bitcastToAPInt().getZExtValue(), DL, VT);
 4406       else if (VT == MVT::i64 && C->getValueType(0) == MVT::f64)
 4407         return getConstant(V.bitcastToAPInt().getZExtValue(), DL, VT);
 4415       return getConstant(V.bitcastToAPInt(), DL, VT);
 4451         if (SDValue Fold = FoldConstantVectorArithmetic(Opcode, DL, VT, Ops))
 4467     if (SDValue V = FoldBUILD_VECTOR(DL, VT, Ops, *this))
 4473     assert(VT.isFloatingPoint() &&
 4475     if (Operand.getValueType() == VT) return Operand;  // noop conversion.
 4476     assert((!VT.isVector() ||
 4477             VT.getVectorNumElements() ==
 4480     assert(Operand.getValueType().bitsLT(VT) &&
 4483       return getUNDEF(VT);
 4488       return getUNDEF(VT);
 4494       return getConstantFP(0.0, DL, VT);
 4497     assert(VT.isInteger() && Operand.getValueType().isInteger() &&
 4499     assert(VT.isVector() == Operand.getValueType().isVector() &&
 4502     if (Operand.getValueType() == VT) return Operand;   // noop extension
 4503     assert((!VT.isVector() ||
 4504             VT.getVectorNumElements() ==
 4507     assert(Operand.getValueType().bitsLT(VT) &&
 4510       return getNode(OpOpcode, DL, VT, Operand.getOperand(0));
 4513       return getConstant(0, DL, VT);
 4516     assert(VT.isInteger() && Operand.getValueType().isInteger() &&
 4518     assert(VT.isVector() == Operand.getValueType().isVector() &&
 4521     if (Operand.getValueType() == VT) return Operand;   // noop extension
 4522     assert((!VT.isVector() ||
 4523             VT.getVectorNumElements() ==
 4526     assert(Operand.getValueType().bitsLT(VT) &&
 4529       return getNode(ISD::ZERO_EXTEND, DL, VT, Operand.getOperand(0));
 4532       return getConstant(0, DL, VT);
 4535     assert(VT.isInteger() && Operand.getValueType().isInteger() &&
 4537     assert(VT.isVector() == Operand.getValueType().isVector() &&
 4540     if (Operand.getValueType() == VT) return Operand;   // noop extension
 4541     assert((!VT.isVector() ||
 4542             VT.getVectorNumElements() ==
 4545     assert(Operand.getValueType().bitsLT(VT) &&
 4551       return getNode(OpOpcode, DL, VT, Operand.getOperand(0));
 4553       return getUNDEF(VT);
 4558       if (OpOp.getValueType() == VT) {
 4565     assert(VT.isInteger() && Operand.getValueType().isInteger() &&
 4567     assert(VT.isVector() == Operand.getValueType().isVector() &&
 4570     if (Operand.getValueType() == VT) return Operand;   // noop truncate
 4571     assert((!VT.isVector() ||
 4572             VT.getVectorNumElements() ==
 4575     assert(Operand.getValueType().bitsGT(VT) &&
 4578       return getNode(ISD::TRUNCATE, DL, VT, Operand.getOperand(0));
 4583             .bitsLT(VT.getScalarType()))
 4584         return getNode(OpOpcode, DL, VT, Operand.getOperand(0));
 4585       if (Operand.getOperand(0).getValueType().bitsGT(VT))
 4586         return getNode(ISD::TRUNCATE, DL, VT, Operand.getOperand(0));
 4590       return getUNDEF(VT);
 4595     assert(VT.isVector() && "This DAG node is restricted to vector types.");
 4596     assert(Operand.getValueType().bitsLE(VT) &&
 4598     assert(VT.getVectorNumElements() <
 4603     assert(VT.isInteger() && VT == Operand.getValueType() &&
 4603     assert(VT.isInteger() && VT == Operand.getValueType() &&
 4606       return getUNDEF(VT);
 4609     assert(VT.isInteger() && VT == Operand.getValueType() &&
 4609     assert(VT.isInteger() && VT == Operand.getValueType() &&
 4611     assert((VT.getScalarSizeInBits() % 16 == 0) &&
 4614       return getUNDEF(VT);
 4617     assert(VT.isInteger() && VT == Operand.getValueType() &&
 4617     assert(VT.isInteger() && VT == Operand.getValueType() &&
 4620       return getUNDEF(VT);
 4624     assert(VT.getSizeInBits() == Operand.getValueSizeInBits() &&
 4626     if (VT == Operand.getValueType()) return Operand;  // noop conversion.
 4628       return getNode(ISD::BITCAST, DL, VT, Operand.getOperand(0));
 4630       return getUNDEF(VT);
 4633     assert(VT.isVector() && !Operand.getValueType().isVector() &&
 4634            (VT.getVectorElementType() == Operand.getValueType() ||
 4635             (VT.getVectorElementType().isInteger() &&
 4637              VT.getVectorElementType().bitsLE(Operand.getValueType()))) &&
 4640       return getUNDEF(VT);
 4645         Operand.getOperand(0).getValueType() == VT)
 4651       return getUNDEF(VT);
 4656       return getNode(ISD::FSUB, DL, VT, Operand.getOperand(1),
 4663       return getNode(ISD::FABS, DL, VT, Operand.getOperand(0));
 4668   SDVTList VTs = getVTList(VT);
 4670   if (VT != MVT::Glue) { // Don't CSE flag producing nodes