Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:BUILD_VECTOR

1152   case ISD::BUILD_VECTOR:       return visitBUILD_VECTOR(N);
1591 if (!LegalOperations || TLI.isOperationLegal(ISD::BUILD_VECTOR, VT)) {
1595 return DAG.getNode(ISD::BUILD_VECTOR, DL, VT,
4666 DAG.getNode(ISD::BUILD_VECTOR, N->getDebugLoc(), VT,
4684 DAG.getNode(ISD::BUILD_VECTOR, N->getDebugLoc(), VT,
5313 // If the input is a BUILD_VECTOR with all constant elements, fold this now.
5318 N0.getOpcode() == ISD::BUILD_VECTOR && N0.getNode()->hasOneUse() &&
5462 /// ConstantFoldBITCASTofBUILD_VECTOR - We know that BV is a build_vector
5491 // If the vector element type is not legal, the BUILD_VECTOR operands
5499 return DAG.getNode(ISD::BUILD_VECTOR, BV->getDebugLoc(), VT,
5556 return DAG.getNode(ISD::BUILD_VECTOR, BV->getDebugLoc(), VT,
5593 return DAG.getNode(ISD::BUILD_VECTOR, BV->getDebugLoc(), VT,
7240 // If we can't generate a legal BUILD_VECTOR, exit
7241 if (LegalOperations && !TLI.isOperationLegal(ISD::BUILD_VECTOR, VT))
7249 // Check that the operand is a BUILD_VECTOR (or UNDEF, which can essentially
7250 // be converted to a BUILD_VECTOR). Fill in the Ops vector with the
7253 if (InVec.getOpcode() == ISD::BUILD_VECTOR) {
7265 // All the operands of BUILD_VECTOR must have the same type;
7276 return DAG.getNode(ISD::BUILD_VECTOR, dl,
7330 // Perform only after legalization to ensure build_vector / vector_shuffle
7492 // Check to see if this is a BUILD_VECTOR of a bunch of values
7494 // a new BUILD_VECTOR using bit-casts which may enable other BUILD_VECTOR
7549 // Create a new simpler BUILD_VECTOR sequence which other optimizations can
7562 // Populate the new build_vector
7580 // The type of the new BUILD_VECTOR node.
7587 // Make the new BUILD_VECTOR.
7588 SDValue BV = DAG.getNode(ISD::BUILD_VECTOR, N->getDebugLoc(),
7591 // The new BUILD_VECTOR node has the potential to be further optimized.
7597 // Check to see if this is a BUILD_VECTOR of a bunch of EXTRACT_VECTOR_ELT
7686 // Only type-legal BUILD_VECTOR nodes are converted to shuffle nodes.
7808 // build_vector with all scalar elements the same.
7822 if (V->getOpcode() == ISD::BUILD_VECTOR) {
7824 "BUILD_VECTOR has wrong number of operands");
7949 if (RHS.getOpcode() == ISD::BUILD_VECTOR) {
7974 SDValue Zero = DAG.getNode(ISD::BUILD_VECTOR, N->getDebugLoc(),
8000 // If the LHS and RHS are BUILD_VECTOR nodes, see if we can constant fold
8002 if (LHS.getOpcode() == ISD::BUILD_VECTOR &&
8003 RHS.getOpcode() == ISD::BUILD_VECTOR) {
8030 // Integer BUILD_VECTOR operands may have types larger than the element
8052 return DAG.getNode(ISD::BUILD_VECTOR, N->getDebugLoc(),