Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:UNDEF

789     // FIXME: We blindly ignore splats which include undef which is overly
1650 // fold (add x, undef) -> undef
1927 // If either operand of a sub is undef, the result is undef
2007 // fold (mul x, undef) -> 0
2311 // undef / X -> 0
2314 // X / undef -> undef
2375 // undef / X -> 0
2378 // X / undef -> undef
2457 // undef % X -> 0
2460 // X % undef -> undef
2484 // fold (mulhs x, undef) -> 0
2520 // fold (mulhu x, undef) -> 0
2862 // fold (and x, undef) -> 0
3060 // do not return N0, because undef node may exist in N0
3066 // do not return N1, because undef node may exist in N1
3150 // Undef bits can contribute to a possible optimisation if set, so
3615 // fold (or x, undef) -> -1
3726 // do not return N0, because undef node may exist in N0
3732 // do not return N1, because undef node may exist in N1
3766 // If one element is zero and the otherside is undef, keep undef.
3767 // This also handles the case that both are undef.
3779 assert((M0 >= 0 || M1 >= 0) && "Undef index!");
4144 // fold (xor undef, undef) -> 0. This is a common idiom (misuse).
4147 // fold (xor x, undef) -> undef
4443 // fold (shl x, c >= size(x)) -> undef
4449 // fold (shl undef, x) -> 0
4639 // fold (sra x, (setge c, size(x))) -> undef
4782 // fold (srl x, c >= size(x)) -> undef
4842 // Shifting in all undef bits?
5291 // Skip BV elements until we find one that's not an UNDEF
5292 // After we find an UNDEF element, keep looping until we get to half the
5293 // length of the BV and see if all the non-undef nodes are the same.
5735 // When the condition is UNDEF, just return the first operand. This is
6827 // then the result of the shift+trunc is zero/undef (handled elsewhere).
7236 // where ... are all 'undef'.
7250 // Stop if more than one members are non-undef.
7638 /// We know that BV is a build_vector node with Constant, ConstantFP or Undef
10070 SDValue Undef = DAG.getUNDEF(N->getValueType(0));
10082 Undef.getNode()->dump(&DAG);
10085 DAG.ReplaceAllUsesOfValueWith(SDValue(N, 0), Undef);
11368 // Do not handle stores to undef base pointers.
12040 // Turn 'store undef, Ptr' -> nothing.
12187 // If the inserted element is an UNDEF, just use the input vector.
12223 // Check that the operand is a BUILD_VECTOR (or UNDEF, which can essentially
12402 // Extracting an undef index is undef.
12532 // If Idx was -1 above, Elt is going to be -1, so just return undef.
12567 // Ignore undef inputs.
12666 if (Opc == ISD::UNDEF)
12728 // A vector built entirely of undefs is undef.
12754 // Ignore undef inputs.
12793 if (Opcode == ISD::UNDEF) {
12840 // If we only have one small input, widen it by adding undef values.
12878 // If VecIn2 is unused then change it to undef.
12910 SDValue ScalarUndef = DAG.getNode(ISD::UNDEF, DL, SVT);
12919 else if (ISD::UNDEF == Op.getOpcode())
12937 // Replace UNDEFs by another scalar UNDEF node, of the final desired type.
12940 ScalarUndef = DAG.getNode(ISD::UNDEF, DL, SVT);
12976 // UNDEF nodes convert to UNDEF shuffle mask values.
12996 // UNDEF nodes convert to UNDEF shuffle mask values.
13051 // Optimize concat_vectors where all but the first of the vectors are undef.
13058 // Transform: concat_vectors(scalar, undef) -> scalar_to_vector(sclr).
13065 // concat_vectors(trunc(scalar), undef) -> scalar_to_vector(scalar)
13087 // Fold any combination of BUILD_VECTOR or UNDEF nodes into one BUILD_VECTOR.
13088 // We have already tested above for an UNDEF only concatenation.
13092 return ISD::UNDEF == Op.getOpcode() || ISD::BUILD_VECTOR == Op.getOpcode();
13116 if (ISD::UNDEF == Op.getOpcode())
13136 // Fold CONCAT_VECTORS of only bitcast scalars (or undef) to BUILD_VECTOR.
13140 // Fold CONCAT_VECTORS of EXTRACT_SUBVECTOR (or undef) to VECTOR_SHUFFLE.
13353 // as concat(shuffle(A,B),UNDEF) if the shuffle doesn't set any of the high
13410 // Canonicalize shuffle undef, undef -> undef
13416 // Canonicalize shuffle v, v -> v, undef
13427 // Canonicalize shuffle undef, v -> v, undef. Commute the shuffle mask.
13431 // Remove references to rhs if it is undef
13501 // or components with undef.
13628 // shuffle(B, shuffle(A, Undef)) -> shuffle(shuffle(A, Undef), B)
13669 // Propagate Undef.
13680 // Propagate Undef.
13692 // Simple case where 'CurrentVec' is UNDEF.
13719 // Check if all indices in Mask are Undef. In case, propagate Undef.
13952 // Fold (VBinOp (shuffle (A, Undef, Mask)), (shuffle (B, Undef, Mask)))
13953 // -> (shuffle (VBinOp (A, B)), Undef, Mask).
14954 // Do not handle stores to undef base pointers.