Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:UNDEF

662     // FIXME: We blindly ignore splats which include undef which is overly
1500 // fold (add x, undef) -> undef
1501 if (N0.getOpcode() == ISD::UNDEF)
1503 if (N1.getOpcode() == ISD::UNDEF)
1794 // If either operand of a sub is undef, the result is undef
1795 if (N0.getOpcode() == ISD::UNDEF)
1797 if (N1.getOpcode() == ISD::UNDEF)
1868 // fold (mul x, undef) -> 0
1869 if (N0.getOpcode() == ISD::UNDEF || N1.getOpcode() == ISD::UNDEF)
2058 // undef / X -> 0
2059 if (N0.getOpcode() == ISD::UNDEF)
2061 // X / undef -> undef
2062 if (N1.getOpcode() == ISD::UNDEF)
2110 // undef / X -> 0
2111 if (N0.getOpcode() == ISD::UNDEF)
2113 // X / undef -> undef
2114 if (N1.getOpcode() == ISD::UNDEF)
2152 // undef % X -> 0
2153 if (N0.getOpcode() == ISD::UNDEF)
2155 // X % undef -> undef
2156 if (N1.getOpcode() == ISD::UNDEF)
2205 // undef % X -> 0
2206 if (N0.getOpcode() == ISD::UNDEF)
2208 // X % undef -> undef
2209 if (N1.getOpcode() == ISD::UNDEF)
2230 // fold (mulhs x, undef) -> 0
2231 if (N0.getOpcode() == ISD::UNDEF || N1.getOpcode() == ISD::UNDEF)
2266 // fold (mulhu x, undef) -> 0
2267 if (N0.getOpcode() == ISD::UNDEF || N1.getOpcode() == ISD::UNDEF)
2546 if (N->getOpcode() == ISD::XOR && ShOp.getOpcode() != ISD::UNDEF) {
2567 if (N->getOpcode() == ISD::XOR && ShOp.getOpcode() != ISD::UNDEF) {
2617 // fold (and x, undef) -> 0
2618 if (N0.getOpcode() == ISD::UNDEF || N1.getOpcode() == ISD::UNDEF)
2686 // Undef bits can contribute to a possible optimisation if set, so
3278 // Both shuffle indexes are undef. Propagate Undef.
3308 // fold (or x, undef) -> -1
3310 (N0.getOpcode() == ISD::UNDEF || N1.getOpcode() == ISD::UNDEF)) {
3715 // fold (xor undef, undef) -> 0. This is a common idiom (misuse).
3716 if (N0.getOpcode() == ISD::UNDEF && N1.getOpcode() == ISD::UNDEF)
3718 // fold (xor x, undef) -> undef
3719 if (N0.getOpcode() == ISD::UNDEF)
3721 if (N1.getOpcode() == ISD::UNDEF)
3985 // fold (shl x, c >= size(x)) -> undef
3991 // fold (shl undef, x) -> 0
3992 if (N0.getOpcode() == ISD::UNDEF)
4138 // fold (sra x, (setge c, size(x))) -> undef
4281 // fold (srl x, c >= size(x)) -> undef
4337 // Shifting in all undef bits?
4627 // Skip BV elements until we find one that's not an UNDEF
4628 // After we find an UNDEF element, keep looping until we get to half the
4629 // length of the BV and see if all the non-undef nodes are the same.
4632 if (Cond->getOperand(i)->getOpcode() == ISD::UNDEF)
4644 if (Cond->getOperand(i)->getOpcode() == ISD::UNDEF)
4835 if (Op->getOpcode() == ISD::UNDEF) {
5724 // then the result of the shift+trunc is zero/undef (handled elsewhere).
5837 if (isa<ConstantSDNode>(N0) || N0.getOpcode() == ISD::UNDEF)
5940 if (Op->getOpcode() == ISD::UNDEF) {
6090 // where ... are all 'undef'.
6099 if (X.getOpcode() != ISD::UNDEF) {
6104 // Stop if more than one members are non-undef.
6332 /// node with Constant, ConstantFP or Undef operands. DstEltVT indicates the
6410 if (Op.getOpcode() == ISD::UNDEF) continue;
6436 if (BV->getOperand(i).getOpcode() == ISD::UNDEF) {
7967 SDValue Undef = DAG.getUNDEF(N->getValueType(0));
7971 Undef.getNode()->dump(&DAG);
7974 DAG.ReplaceAllUsesOfValueWith(SDValue(N, 0), Undef);
8228 if (Origin->getOffset().getOpcode() != ISD::UNDEF)
9054 // Do not handle stores to undef base pointers.
9055 if (BasePtr.Base.getOpcode() == ISD::UNDEF)
9509 // Turn 'store undef, Ptr' -> nothing.
9510 if (Value.getOpcode() == ISD::UNDEF && ST->isUnindexed())
9714 // If the inserted element is an UNDEF, just use the input vector.
9715 if (InVal.getOpcode() == ISD::UNDEF)
9750 // Check that the operand is a BUILD_VECTOR (or UNDEF, which can essentially
9759 } else if (InVec.getOpcode() == ISD::UNDEF) {
9897 // Extracting an undef index is undef.
10023 // If Idx was -1 above, Elt is going to be -1, so just return undef.
10058 // Ignore undef inputs.
10059 if (In.getOpcode() == ISD::UNDEF) continue;
10114 Cast.getOpcode() == ISD::UNDEF) && "Invalid cast opcode");
10116 if (Cast.getOpcode() == ISD::UNDEF)
10157 if (Opc == ISD::UNDEF)
10198 if (In.getOpcode() == ISD::UNDEF)
10214 // A vector built entirely of undefs is undef.
10237 // Ignore undef inputs.
10238 if (N->getOperand(i).getOpcode() == ISD::UNDEF) continue;
10268 if (N->getOperand(i).getOpcode() == ISD::UNDEF) {
10308 // Widen the input vector by adding undef values.
10313 // If VecIn2 is unused then change it to undef.
10351 // Optimize concat_vectors where one of the vectors is undef.
10353 N->getOperand(1)->getOpcode() == ISD::UNDEF) {
10357 // Transform: concat_vectors(scalar, undef) -> scalar_to_vector(sclr).
10420 if (Op.getOpcode() == ISD::UNDEF)
10576 // Canonicalize shuffle undef, undef -> undef
10577 if (N0.getOpcode() == ISD::UNDEF && N1.getOpcode() == ISD::UNDEF)
10582 // Canonicalize shuffle v, v -> v, undef
10594 // Canonicalize shuffle undef, v -> v, undef. Commute the shuffle mask.
10595 if (N0.getOpcode() == ISD::UNDEF) {
10611 // Remove references to rhs if it is undef
10612 if (N1.getOpcode() == ISD::UNDEF) {
10648 if (V->getOperand(i).getOpcode() != ISD::UNDEF) {
10670 (N1.getOpcode() == ISD::UNDEF ||
10682 N1.getOpcode() == ISD::UNDEF) {
10695 assert(Idx < (int)NumElts && "Index references undef operand");
10704 if (N0.getOperand(1).getOpcode() != ISD::UNDEF) {
10728 // shuffle(shuffle(x, y), undef) -> x
10729 // shuffle(shuffle(x, undef), undef) -> x
10730 // shuffle(shuffle(x, y), undef) -> y
10744 // optimize shuffle(shuffle(x, y), undef) -> y.
10747 // optimize shuffle(shuffle(x, undef), undef) -> x
10748 // optimize shuffle(shuffle(x, y), undef) -> x
10756 // shuffle(shuffle(x, undef, M1), undef, M2) -> shuffle(x, undef, M3).
10757 // shuffle(shuffle(x, y, M1), undef, M2) -> shuffle(x, undef, M3)
10761 // shuffle(shuffle(x, y, M1), undef, M2) -> shuffle(undef, y, M3)
10894 if (FoldOp.getOpcode() != ISD::UNDEF &&
10907 // Fold (VBinOp (shuffle (A, Undef, Mask)), (shuffle (B, Undef, Mask)))
10908 // -> (shuffle (VBinOp (A, B)), Undef, Mask).
10911 LHS.getOperand(1).getOpcode() == ISD::UNDEF &&
10912 RHS.getOperand(1).getOpcode() == ISD::UNDEF) {
10944 if (Op.getOpcode() != ISD::UNDEF &&
10949 if (FoldOp.getOpcode() != ISD::UNDEF &&