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

References

lib/CodeGen/SelectionDAG/DAGCombiner.cpp
17844   if (N->getNumOperands() == 1)
17845     return N->getOperand(0);
17848   EVT VT = N->getValueType(0);
17849   if (ISD::allOperandsUndef(N))
17853   if (std::all_of(std::next(N->op_begin()), N->op_end(), [](const SDValue &Op) {
17853   if (std::all_of(std::next(N->op_begin()), N->op_end(), [](const SDValue &Op) {
17856     SDValue In = N->getOperand(0);
17862       unsigned NumOps = N->getNumOperands() * In.getNumOperands();
17865       return DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), VT, Ops);
17906       SDValue Res = DAG.getNode(ISD::SCALAR_TO_VECTOR, SDLoc(N), NVT, Scalar);
17918   if (llvm::all_of(N->ops(), IsBuildVectorOrUndef)) {
17927       for (const SDValue &Op : N->ops())
17936     for (const SDValue &Op : N->ops()) {
17950                 DAG.getNode(ISD::TRUNCATE, SDLoc(N), MinVT, Op.getOperand(i)));
17957     return DAG.getBuildVector(VT, SDLoc(N), Opnds);
17961   if (SDValue V = combineConcatVectorOfScalars(N, DAG))
17966     if (SDValue V = combineConcatVectorOfExtracts(N, DAG))
17974   unsigned PartNumElem = N->getOperand(0).getValueType().getVectorNumElements();
17976   for (unsigned i = 0, e = N->getNumOperands(); i != e; ++i) {
17977     SDValue Op = N->getOperand(i);
17996       if (SingleSource.getValueType() != N->getValueType(0))