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

References

lib/CodeGen/SelectionDAG/SelectionDAG.cpp
 2440     Known.One = C->getAPIntValue();
 2441     Known.Zero = ~Known.One;
 2441     Known.Zero = ~Known.One;
 2442     return Known;
 2446     Known.One = C->getValueAPF().bitcastToAPInt();
 2447     Known.Zero = ~Known.One;
 2447     Known.Zero = ~Known.One;
 2448     return Known;
 2452     return Known;  // Limit search depth.
 2461     return Known;  // No demanded elts, better to assume we don't know anything.
 2467     Known.Zero.setAllBits(); Known.One.setAllBits();
 2467     Known.Zero.setAllBits(); Known.One.setAllBits();
 2483       Known.One &= Known2.One;
 2484       Known.Zero &= Known2.Zero;
 2487       if (Known.isUnknown())
 2495     Known.Zero.setAllBits(); Known.One.setAllBits();
 2495     Known.Zero.setAllBits(); Known.One.setAllBits();
 2506         Known.resetAll();
 2521       Known.One &= Known2.One;
 2522       Known.Zero &= Known2.Zero;
 2525     if (Known.isUnknown())
 2530       Known.One &= Known2.One;
 2531       Known.Zero &= Known2.Zero;
 2537     Known.Zero.setAllBits(); Known.One.setAllBits();
 2537     Known.Zero.setAllBits(); Known.One.setAllBits();
 2547         Known.One &= Known2.One;
 2548         Known.Zero &= Known2.Zero;
 2551       if (Known.isUnknown())
 2564       Known.One.setAllBits();
 2565       Known.Zero.setAllBits();
 2569         Known = computeKnownBits(Sub, DemandedSubElts, Depth + 1);
 2570         if (Known.isUnknown())
 2577         Known.One &= Known2.One;
 2578         Known.Zero &= Known2.Zero;
 2581       Known = computeKnownBits(Sub, Depth + 1);
 2582       if (Known.isUnknown())
 2585       Known.One &= Known2.One;
 2586       Known.Zero &= Known2.Zero;
 2602     Known = computeKnownBits(Src, DemandedSrc, Depth + 1);
 2612     Known = computeKnownBits(N0, Depth + 1);
 2614       Known = Known.trunc(BitWidth);
 2614       Known = Known.trunc(BitWidth);
 2629       Known = computeKnownBits(N0, DemandedElts, Depth + 1);
 2653         Known.One |= Known2.One.zext(BitWidth).shl(SubBitWidth * Shifts);
 2654         Known.Zero |= Known2.Zero.zext(BitWidth).shl(SubBitWidth * Shifts);
 2673       Known.Zero.setAllBits(); Known.One.setAllBits();
 2673       Known.Zero.setAllBits(); Known.One.setAllBits();
 2678           Known.One &= Known2.One.lshr(Offset).trunc(BitWidth);
 2679           Known.Zero &= Known2.Zero.lshr(Offset).trunc(BitWidth);
 2681           if (Known.isUnknown())
 2689     Known = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 2693     Known.One &= Known2.One;
 2695     Known.Zero |= Known2.Zero;
 2698     Known = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 2702     Known.Zero &= Known2.Zero;
 2704     Known.One |= Known2.One;
 2707     Known = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 2711     APInt KnownZeroOut = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
 2711     APInt KnownZeroOut = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
 2713     Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
 2713     Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
 2713     Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
 2714     Known.Zero = KnownZeroOut;
 2718     Known = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 2725     unsigned TrailZ = Known.countMinTrailingZeros() +
 2727     unsigned LeadZ =  std::max(Known.countMinLeadingZeros() +
 2731     Known.resetAll();
 2732     Known.Zero.setLowBits(std::min(TrailZ, BitWidth));
 2733     Known.Zero.setHighBits(std::min(LeadZ, BitWidth));
 2748     Known.Zero.setHighBits(LeadZ);
 2753     Known = computeKnownBits(Op.getOperand(2), DemandedElts, Depth+1);
 2755     if (Known.isUnknown())
 2760     Known.One &= Known2.One;
 2761     Known.Zero &= Known2.Zero;
 2764     Known = computeKnownBits(Op.getOperand(3), DemandedElts, Depth+1);
 2766     if (Known.isUnknown())
 2771     Known.One &= Known2.One;
 2772     Known.Zero &= Known2.Zero;
 2786       Known.Zero.setBitsFrom(1);
 2793       Known.Zero.setBitsFrom(1);
 2797       Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2799       Known.Zero <<= Shift;
 2800       Known.One <<= Shift;
 2802       Known.Zero.setLowBits(Shift);
 2807       Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2809       Known.Zero.lshrInPlace(Shift);
 2810       Known.One.lshrInPlace(Shift);
 2812       Known.Zero.setHighBits(Shift);
 2815       Known.Zero.setHighBits(ShMinAmt->getZExtValue());
 2820       Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2823       Known.Zero.ashrInPlace(Shift);
 2824       Known.One.ashrInPlace(Shift);
 2835         Known = computeKnownBits(Op.getOperand(Opcode == ISD::FSHL ? 0 : 1),
 2842       Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2845         Known.One <<= Amt;
 2846         Known.Zero <<= Amt;
 2850         Known.One <<= BitWidth - Amt;
 2851         Known.Zero <<= BitWidth - Amt;
 2855       Known.One |= Known2.One;
 2856       Known.Zero |= Known2.Zero;
 2876     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2877     Known.One &= InputDemandedBits;
 2878     Known.Zero &= InputDemandedBits;
 2882     if (Known.Zero.intersects(InSignMask)) {        // Input sign bit known clear
 2883       Known.Zero |= NewBits;
 2884       Known.One  &= ~NewBits;
 2885     } else if (Known.One.intersects(InSignMask)) {  // Input sign bit known set
 2886       Known.One  |= NewBits;
 2887       Known.Zero &= ~NewBits;
 2889       Known.Zero &= ~NewBits;
 2890       Known.One  &= ~NewBits;
 2900     Known.Zero.setBitsFrom(LowBits);
 2909     Known.Zero.setBitsFrom(LowBits);
 2916     Known.Zero.setBitsFrom(Log2_32(PossibleOnes) + 1);
 2937           Known.One.setAllBits();
 2938           Known.Zero.setAllBits();
 2945                 Known.One &= Value;
 2946                 Known.Zero &= ~Value;
 2951                 Known.One &= Value;
 2952                 Known.Zero &= ~Value;
 2956             Known.One.clearAllBits();
 2957             Known.Zero.clearAllBits();
 2963             Known.One = Value;
 2964             Known.Zero = ~Value;
 2967             Known.One = Value;
 2968             Known.Zero = ~Value;
 2976       Known.Zero.setBitsFrom(MemBits);
 2979         computeKnownBitsFromRangeMetadata(*Ranges, Known);
 2986     Known = computeKnownBits(Op.getOperand(0), InDemandedElts, Depth + 1);
 2987     Known = Known.zext(BitWidth, true /* ExtendedBitsAreKnownZero */);
 2987     Known = Known.zext(BitWidth, true /* ExtendedBitsAreKnownZero */);
 2991     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2992     Known = Known.zext(BitWidth, true /* ExtendedBitsAreKnownZero */);
 2992     Known = Known.zext(BitWidth, true /* ExtendedBitsAreKnownZero */);
 2998     Known = computeKnownBits(Op.getOperand(0), InDemandedElts, Depth + 1);
 3001     Known = Known.sext(BitWidth);
 3001     Known = Known.sext(BitWidth);
 3005     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3008     Known = Known.sext(BitWidth);
 3008     Known = Known.sext(BitWidth);
 3012     Known = computeKnownBits(Op.getOperand(0), Depth+1);
 3013     Known = Known.zext(BitWidth, false /* ExtendedBitsAreKnownZero */);
 3013     Known = Known.zext(BitWidth, false /* ExtendedBitsAreKnownZero */);
 3017     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3018     Known = Known.trunc(BitWidth);
 3018     Known = Known.trunc(BitWidth);
 3024     Known = computeKnownBits(Op.getOperand(0), Depth+1);
 3025     Known.Zero |= (~InMask);
 3026     Known.One  &= (~Known.Zero);
 3026     Known.One  &= (~Known.Zero);
 3031     Known.Zero.setBitsFrom(1);
 3040         Known.Zero.setBitsFrom(1);
 3046     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3048     Known = KnownBits::computeForAddSub(/* Add */ false, /* NSW */ false,
 3049                                         Known, Known2);
 3060         Known.Zero.setBitsFrom(1);
 3084     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3086     Known = KnownBits::computeForAddCarry(Known, Known2, Carry);
 3086     Known = KnownBits::computeForAddCarry(Known, Known2, Carry);
 3097         Known.Zero = Known2.Zero & LowBits;
 3098         Known.One = Known2.One & LowBits;
 3103           Known.Zero |= ~LowBits;
 3108           Known.One |= ~LowBits;
 3109         assert((Known.Zero & Known.One) == 0&&"Bits known to be one AND zero?");
 3109         assert((Known.Zero & Known.One) == 0&&"Bits known to be one AND zero?");
 3121         Known.Zero = Known2.Zero | ~LowBits;
 3122         Known.One = Known2.One & LowBits;
 3129     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3133         std::max(Known.countMinLeadingZeros(), Known2.countMinLeadingZeros());
 3134     Known.resetAll();
 3135     Known.Zero.setHighBits(Leaders);
 3139     Known = computeKnownBits(Op.getOperand(0), Depth+1);
 3144     Known.Zero = Known.Zero.getHiBits(Known.getBitWidth() - Index * EltBitWidth);
 3144     Known.Zero = Known.Zero.getHiBits(Known.getBitWidth() - Index * EltBitWidth);
 3144     Known.Zero = Known.Zero.getHiBits(Known.getBitWidth() - Index * EltBitWidth);
 3145     Known.One = Known.One.getHiBits(Known.getBitWidth() - Index * EltBitWidth);
 3145     Known.One = Known.One.getHiBits(Known.getBitWidth() - Index * EltBitWidth);
 3145     Known.One = Known.One.getHiBits(Known.getBitWidth() - Index * EltBitWidth);
 3148     Known = Known.trunc(EltBitWidth);
 3148     Known = Known.trunc(EltBitWidth);
 3160       Known = Known.trunc(EltBitWidth);
 3160       Known = Known.trunc(EltBitWidth);
 3166       Known = computeKnownBits(InVec, DemandedElt, Depth + 1);
 3169       Known = computeKnownBits(InVec, Depth + 1);
 3172       Known = Known.zext(BitWidth, false /* => any extend */);
 3172       Known = Known.zext(BitWidth, false /* => any extend */);
 3184       Known.Zero = Known.One = APInt::getAllOnesValue(BitWidth);
 3184       Known.Zero = Known.One = APInt::getAllOnesValue(BitWidth);
 3190         Known.One &= Known2.One.zextOrTrunc(Known.One.getBitWidth());
 3190         Known.One &= Known2.One.zextOrTrunc(Known.One.getBitWidth());
 3191         Known.Zero &= Known2.Zero.zextOrTrunc(Known.Zero.getBitWidth());
 3191         Known.Zero &= Known2.Zero.zextOrTrunc(Known.Zero.getBitWidth());
 3199         Known.One &= Known2.One;
 3200         Known.Zero &= Known2.Zero;
 3204       Known = computeKnownBits(InVec, Depth + 1);
 3206       Known.One &= Known2.One.zextOrTrunc(Known.One.getBitWidth());
 3206       Known.One &= Known2.One.zextOrTrunc(Known.One.getBitWidth());
 3207       Known.Zero &= Known2.Zero.zextOrTrunc(Known.Zero.getBitWidth());
 3207       Known.Zero &= Known2.Zero.zextOrTrunc(Known.Zero.getBitWidth());
 3213     Known.Zero = Known2.Zero.reverseBits();
 3214     Known.One = Known2.One.reverseBits();
 3219     Known.Zero = Known2.Zero.byteSwap();
 3220     Known.One = Known2.One.byteSwap();
 3228       Known.Zero = Known2.Zero;
 3229       Known.One = Known2.One;
 3237       Known.Zero = APInt::getSignMask(BitWidth);
 3243     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3248     unsigned LeadZero = Known.countMinLeadingZeros();
 3251     Known.Zero &= Known2.Zero;
 3252     Known.One &= Known2.One;
 3253     Known.Zero.setHighBits(LeadZero);
 3257     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3262     unsigned LeadOne = Known.countMinLeadingOnes();
 3265     Known.Zero &= Known2.Zero;
 3266     Known.One &= Known2.One;
 3267     Known.One.setHighBits(LeadOne);
 3291           Known.One.setHighBits(MinSignBits);
 3295           Known.Zero.setHighBits(MinSignBits);
 3302     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3303     if (Known.isUnknown()) break; // Early-out
 3305     Known.Zero &= Known2.Zero;
 3306     Known.One &= Known2.One;
 3311     TLI->computeKnownBitsForFrameIndex(Op, Known, DemandedElts, *this, Depth);
 3322     TLI->computeKnownBitsForTargetNode(Op, Known, DemandedElts, *this, Depth);
 3326   assert(!Known.hasConflict() && "Bits known to be one AND zero?");
 3327   return Known;