|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
include/llvm/CodeGen/FunctionLoweringInfo.h 248 LOI.Known.One = Known.One;
248 LOI.Known.One = Known.One;
include/llvm/Support/KnownBits.h 40 assert(Zero.getBitWidth() == One.getBitWidth() &&
46 bool hasConflict() const { return Zero.intersects(One); }
51 return Zero.countPopulation() + One.countPopulation() == getBitWidth();
58 return One;
62 bool isUnknown() const { return Zero.isNullValue() && One.isNullValue(); }
67 One.clearAllBits();
79 return One.isAllOnesValue();
85 One.clearAllBits();
91 One.setAllBits();
95 bool isNegative() const { return One.isSignBitSet(); }
102 One.setSignBit();
113 return KnownBits(Zero.trunc(BitWidth), One.trunc(BitWidth));
125 return KnownBits(NewZero, One.zext(BitWidth));
131 return KnownBits(Zero.sext(BitWidth), One.sext(BitWidth));
142 return KnownBits(Zero.zextOrTrunc(BitWidth), One.zextOrTrunc(BitWidth));
152 return One.countTrailingOnes();
162 return One.countLeadingOnes();
177 return One.countTrailingZeros();
187 return One.countLeadingZeros();
197 return One.countPopulation();
lib/Analysis/BasicAliasAnalysis.cpp 1192 if (Known1.Zero.intersects(Known2.One) ||
1193 Known1.One.intersects(Known2.Zero))
lib/Analysis/ConstantFolding.cpp 726 if ((Known1.One | Known0.Zero).isAllOnesValue()) {
730 if ((Known0.One | Known1.Zero).isAllOnesValue()) {
736 Known0.One &= Known1.One;
736 Known0.One &= Known1.One;
lib/Analysis/DemandedBits.cpp 255 AB &= ~Known2.One;
257 AB &= ~(Known.One & ~Known2.One);
257 AB &= ~(Known.One & ~Known2.One);
lib/Analysis/InstructionSimplify.cpp 1231 if (Known.One.getLimitedValue() >= Known.getBitWidth())
1263 if (Op0Known.One[0])
lib/Analysis/ScalarEvolution.cpp 5713 if (Known.One != ~Known.Zero + 1)
5716 ConstantRange(Known.One, ~Known.Zero + 1), RangeType);
lib/Analysis/ValueTracking.cpp 403 APInt Bottom0 = Known.One;
404 APInt Bottom1 = Known2.One;
408 unsigned TrailBitsKnown0 = (Known.Zero | Known.One).countTrailingOnes();
409 unsigned TrailBitsKnown1 = (Known2.Zero | Known2.One).countTrailingOnes();
425 Known.One |= BottomKnown.getLoBits(ResultBitsKnown);
445 Known.One.setAllBits();
459 Known.One &= Range.getUnsignedMax() & Mask;
643 Known.One |= RHSKnown.One;
643 Known.One |= RHSKnown.One;
655 Known.Zero |= RHSKnown.Zero & MaskKnown.One;
656 Known.One |= RHSKnown.One & MaskKnown.One;
656 Known.One |= RHSKnown.One & MaskKnown.One;
656 Known.One |= RHSKnown.One & MaskKnown.One;
668 Known.Zero |= RHSKnown.One & MaskKnown.One;
668 Known.Zero |= RHSKnown.One & MaskKnown.One;
669 Known.One |= RHSKnown.Zero & MaskKnown.One;
669 Known.One |= RHSKnown.Zero & MaskKnown.One;
682 Known.One |= RHSKnown.One & BKnown.Zero;
682 Known.One |= RHSKnown.One & BKnown.Zero;
694 Known.Zero |= RHSKnown.One & BKnown.Zero;
695 Known.One |= RHSKnown.Zero & BKnown.Zero;
709 Known.One |= RHSKnown.One & BKnown.Zero;
709 Known.One |= RHSKnown.One & BKnown.Zero;
710 Known.Zero |= RHSKnown.One & BKnown.One;
710 Known.Zero |= RHSKnown.One & BKnown.One;
711 Known.One |= RHSKnown.Zero & BKnown.One;
711 Known.One |= RHSKnown.Zero & BKnown.One;
724 Known.Zero |= RHSKnown.One & BKnown.Zero;
725 Known.One |= RHSKnown.Zero & BKnown.Zero;
726 Known.Zero |= RHSKnown.Zero & BKnown.One;
727 Known.One |= RHSKnown.One & BKnown.One;
727 Known.One |= RHSKnown.One & BKnown.One;
727 Known.One |= RHSKnown.One & BKnown.One;
738 RHSKnown.One.lshrInPlace(C);
739 Known.One |= RHSKnown.One;
739 Known.One |= RHSKnown.One;
748 RHSKnown.One.lshrInPlace(C);
749 Known.Zero |= RHSKnown.One;
751 Known.One |= RHSKnown.Zero;
761 Known.One |= RHSKnown.One << C;
761 Known.One |= RHSKnown.One << C;
770 Known.Zero |= RHSKnown.One << C;
771 Known.One |= RHSKnown.Zero << C;
848 Known.One.setAllBits();
868 if (Known.Zero.intersects(Known.One)) {
903 Known.One = KOF(Known.One, ShiftAmt);
903 Known.One = KOF(Known.One, ShiftAmt);
927 uint64_t ShiftAmtKO = Known.One.zextOrTrunc(64).getZExtValue();
949 Known.One.setAllBits();
969 Known.One &= KOF(Known2.One, ShiftAmt);
969 Known.One &= KOF(Known2.One, ShiftAmt);
996 Known.One &= Known2.One;
996 Known.One &= Known2.One;
1006 if (!Known.Zero[0] && !Known.One[0] &&
1022 Known.One |= Known2.One;
1022 Known.One |= Known2.One;
1029 APInt KnownZeroOut = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
1029 APInt KnownZeroOut = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
1031 Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
1031 Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
1031 Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
1110 Known.One &= Known2.One;
1110 Known.One &= Known2.One;
1113 Known.One.setHighBits(MaxHighOnes);
1242 Known.One = Known2.One & LowBits;
1242 Known.One = Known2.One & LowBits;
1251 if (Known2.isNegative() && LowBits.intersects(Known2.One))
1252 Known.One |= ~LowBits;
1254 assert((Known.Zero & Known.One) == 0 && "Bits known to be one AND zero?");
1274 Known.One &= LowBits;
1336 LocalKnown.Zero = LocalKnown.One = APInt(GEPOpiBits, 0);
1432 if (Depth < MaxDepth - 1 && !Known.Zero && !Known.One) {
1438 Known.One.setAllBits();
1448 Known.One &= Known2.One;
1448 Known.One &= Known2.One;
1451 if (!Known.Zero && !Known.One)
1468 Known.One |= Known2.One;
1468 Known.One |= Known2.One;
1476 Known.One |= Known2.One.reverseBits();
1476 Known.One |= Known2.One.reverseBits();
1481 Known.One |= Known2.One.byteSwap();
1481 Known.One |= Known2.One.byteSwap();
1486 unsigned PossibleLZ = Known2.One.countLeadingZeros();
1497 unsigned PossibleTZ = Known2.One.countTrailingZeros();
1533 Known.One =
1534 Known2.One.shl(ShiftAmt) | Known3.One.lshr(BitWidth - ShiftAmt);
1534 Known2.One.shl(ShiftAmt) | Known3.One.lshr(BitWidth - ShiftAmt);
1560 Known.One.setHighBits(LeadingKnown);
1564 Known.One.clearAllBits();
1654 Known.One = *C;
1655 Known.Zero = ~Known.One;
1668 Known.Zero.setAllBits(); Known.One.setAllBits();
1672 Known.One &= Elt;
1680 Known.Zero.setAllBits(); Known.One.setAllBits();
1690 Known.One &= Elt;
1735 assert((Known.Zero & Known.One) == 0 && "Bits known to be one AND zero?");
1818 if (OrZero || RHSBits.One.getBoolValue() || LHSBits.One.getBoolValue())
1818 if (OrZero || RHSBits.One.getBoolValue() || LHSBits.One.getBoolValue())
2135 if (Known.One[0])
2184 if (XKnown.One.intersects(Mask))
2188 if (YKnown.One.intersects(Mask))
2245 return Known.One != 0;
2279 if (Known1.Zero.intersects(Known2.One) ||
2280 Known2.Zero.intersects(Known1.One))
lib/CodeGen/GlobalISel/GISelKnownBits.cpp 88 APInt GISelKnownBits::getKnownOnes(Register R) { return getKnownBits(R).One; }
146 Known.One = *CstVal;
147 Known.Zero = ~Known.One;
176 APInt KnownZeroOut = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
176 APInt KnownZeroOut = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
178 Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
178 Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
178 Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
218 Known.One &= Known2.One;
218 Known.One &= Known2.One;
233 Known.One |= Known2.One;
233 Known.One |= Known2.One;
266 Known.One &= Known2.One;
266 Known.One &= Known2.One;
329 Known.One = Known.One.ashr(Shift);
329 Known.One = Known.One.ashr(Shift);
333 Known.One = Known.One.lshr(Shift);
333 Known.One = Known.One.lshr(Shift);
338 Known.One = Known.One.shl(Shift);
338 Known.One = Known.One.shl(Shift);
369 << (Known.Zero | Known.One).toString(16, false) << "\n"
373 << Known.One.toString(16, false) << "\n");
lib/CodeGen/SelectionDAG/DAGCombiner.cpp 7853 if (Known.One.getBoolValue()) return DAG.getConstant(0, SDLoc(N0), VT);
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp 444 DestLOI.Known.One = Val;
462 DestLOI.Known.One.getBitWidth() == BitWidth &&
477 DestLOI.Known.One &= Val;
495 DestLOI.Known.One &= SrcLOI->Known.One;
495 DestLOI.Known.One &= SrcLOI->Known.One;
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp 1928 if (((Known.Zero|Known.One) & HighBitMask) == 0)
1937 if (Known.One.intersects(HighBitMask)) {
lib/CodeGen/SelectionDAG/SelectionDAG.cpp 2237 return Mask.isSubsetOf(computeKnownBits(V, Depth).One);
2440 Known.One = C->getAPIntValue();
2441 Known.Zero = ~Known.One;
2446 Known.One = C->getValueAPF().bitcastToAPInt();
2447 Known.Zero = ~Known.One;
2467 Known.Zero.setAllBits(); Known.One.setAllBits();
2483 Known.One &= Known2.One;
2483 Known.One &= Known2.One;
2495 Known.Zero.setAllBits(); Known.One.setAllBits();
2521 Known.One &= Known2.One;
2521 Known.One &= Known2.One;
2530 Known.One &= Known2.One;
2530 Known.One &= Known2.One;
2537 Known.Zero.setAllBits(); Known.One.setAllBits();
2547 Known.One &= Known2.One;
2547 Known.One &= Known2.One;
2564 Known.One.setAllBits();
2577 Known.One &= Known2.One;
2577 Known.One &= Known2.One;
2585 Known.One &= Known2.One;
2585 Known.One &= Known2.One;
2653 Known.One |= Known2.One.zext(BitWidth).shl(SubBitWidth * Shifts);
2653 Known.One |= Known2.One.zext(BitWidth).shl(SubBitWidth * Shifts);
2673 Known.Zero.setAllBits(); Known.One.setAllBits();
2678 Known.One &= Known2.One.lshr(Offset).trunc(BitWidth);
2678 Known.One &= Known2.One.lshr(Offset).trunc(BitWidth);
2693 Known.One &= Known2.One;
2693 Known.One &= Known2.One;
2704 Known.One |= Known2.One;
2704 Known.One |= Known2.One;
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);
2760 Known.One &= Known2.One;
2760 Known.One &= Known2.One;
2771 Known.One &= Known2.One;
2771 Known.One &= Known2.One;
2800 Known.One <<= Shift;
2810 Known.One.lshrInPlace(Shift);
2824 Known.One.ashrInPlace(Shift);
2845 Known.One <<= Amt;
2847 Known2.One.lshrInPlace(BitWidth - Amt);
2850 Known.One <<= BitWidth - Amt;
2852 Known2.One.lshrInPlace(Amt);
2855 Known.One |= Known2.One;
2855 Known.One |= Known2.One;
2877 Known.One &= InputDemandedBits;
2884 Known.One &= ~NewBits;
2885 } else if (Known.One.intersects(InSignMask)) { // Input sign bit known set
2886 Known.One |= NewBits;
2890 Known.One &= ~NewBits;
2937 Known.One.setAllBits();
2945 Known.One &= Value;
2951 Known.One &= Value;
2956 Known.One.clearAllBits();
2963 Known.One = Value;
2967 Known.One = Value;
3026 Known.One &= (~Known.Zero);
3098 Known.One = Known2.One & LowBits;
3098 Known.One = Known2.One & LowBits;
3107 if (Known2.isNegative() && LowBits.intersects(Known2.One))
3108 Known.One |= ~LowBits;
3109 assert((Known.Zero & Known.One) == 0&&"Bits known to be one AND zero?");
3122 Known.One = Known2.One & LowBits;
3122 Known.One = Known2.One & LowBits;
3145 Known.One = Known.One.getHiBits(Known.getBitWidth() - Index * EltBitWidth);
3145 Known.One = Known.One.getHiBits(Known.getBitWidth() - Index * EltBitWidth);
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());
3190 Known.One &= Known2.One.zextOrTrunc(Known.One.getBitWidth());
3199 Known.One &= Known2.One;
3199 Known.One &= Known2.One;
3206 Known.One &= Known2.One.zextOrTrunc(Known.One.getBitWidth());
3206 Known.One &= Known2.One.zextOrTrunc(Known.One.getBitWidth());
3206 Known.One &= Known2.One.zextOrTrunc(Known.One.getBitWidth());
3214 Known.One = Known2.One.reverseBits();
3214 Known.One = Known2.One.reverseBits();
3220 Known.One = Known2.One.byteSwap();
3220 Known.One = Known2.One.byteSwap();
3229 Known.One = Known2.One;
3229 Known.One = Known2.One;
3235 Known2.One.clearSignBit();
3236 if (Known2.One.getBoolValue()) {
3252 Known.One &= Known2.One;
3252 Known.One &= Known2.One;
3266 Known.One &= Known2.One;
3266 Known.One &= Known2.One;
3267 Known.One.setHighBits(LeadOne);
3291 Known.One.setHighBits(MinSignBits);
3306 Known.One &= Known2.One;
3306 Known.One &= Known2.One;
3953 Mask = Known.One;
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp 2019 if (NeededMask.isSubsetOf(Known.One))
lib/CodeGen/SelectionDAG/TargetLowering.cpp 665 if (DemandedBits.isSubsetOf(LHSKnown.Zero | RHSKnown.One))
667 if (DemandedBits.isSubsetOf(RHSKnown.Zero | LHSKnown.One))
678 if (DemandedBits.isSubsetOf(LHSKnown.One | RHSKnown.Zero))
680 if (DemandedBits.isSubsetOf(RHSKnown.One | LHSKnown.Zero))
780 Known.One = cast<ConstantSDNode>(Op)->getAPIntValue();
781 Known.Zero = ~Known.One;
868 Known.One &= KnownVec.One;
868 Known.One &= KnownVec.One;
902 Known.One.setAllBits();
904 Known.One &= KnownSub.One;
904 Known.One &= KnownSub.One;
908 Known.One &= KnownBase.One;
908 Known.One &= KnownBase.One;
930 Known.One.setAllBits();
942 Known.One &= Known2.One;
942 Known.One &= Known2.One;
977 Known.One.setAllBits();
982 Known.One &= Known2.One;
982 Known.One &= Known2.One;
989 Known.One &= Known2.One;
989 Known.One &= Known2.One;
1034 LHSKnown.One == ~RHSC->getAPIntValue()) {
1065 if (DemandedBits.isSubsetOf(Known2.Zero | Known.One))
1067 if (DemandedBits.isSubsetOf(Known.Zero | Known2.One))
1080 Known.One &= Known2.One;
1080 Known.One &= Known2.One;
1093 if (SimplifyDemandedBits(Op0, ~Known.One & DemandedBits, DemandedElts,
1114 if (DemandedBits.isSubsetOf(Known2.One | Known.Zero))
1116 if (DemandedBits.isSubsetOf(Known.One | Known2.Zero))
1128 Known.One |= Known2.One;
1128 Known.One |= Known2.One;
1175 KnownOut.Zero = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
1175 KnownOut.Zero = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
1177 KnownOut.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
1177 KnownOut.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
1177 KnownOut.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
1185 if (C->getAPIntValue() == Known2.One) {
1224 Known.One &= Known2.One;
1224 Known.One &= Known2.One;
1242 Known.One &= Known2.One;
1242 Known.One &= Known2.One;
1364 Known.One <<= ShAmt;
1423 Known.One.lshrInPlace(ShAmt);
1466 Known.One.lshrInPlace(ShAmt);
1486 if (Known.One[BitWidth - ShAmt - 1])
1488 Known.One.setHighBits(ShAmt);
1522 Known2.One <<= (IsFSHL ? Amt : (BitWidth - Amt));
1524 Known.One.lshrInPlace(IsFSHL ? (BitWidth - Amt) : Amt);
1526 Known.One |= Known2.One;
1526 Known.One |= Known2.One;
1537 Known.One = Known2.One.reverseBits();
1537 Known.One = Known2.One.reverseBits();
1589 if (Known.One[ExVTBits - 1]) { // Input sign bit known set
1590 Known.One.setBitsFrom(ExVTBits);
1594 Known.One &= Mask;
1616 Known.One = KnownLo.One.zext(BitWidth) |
1616 Known.One = KnownLo.One.zext(BitWidth) |
1617 KnownHi.One.zext(BitWidth).shl(HalfBitWidth);
1997 if (DemandedBits.isSubsetOf(Known.Zero | Known.One)) {
2010 return TLO.CombineTo(Op, TLO.DAG.getConstant(Known.One, dl, VT));
lib/IR/ConstantRange.cpp 67 return ConstantRange(Known.One, ~Known.Zero + 1);
71 APInt Lower = Known.One, Upper = ~Known.Zero;
lib/Support/KnownBits.cpp 25 APInt PossibleSumOne = LHS.One + RHS.One + CarryOne;
25 APInt PossibleSumOne = LHS.One + RHS.One + CarryOne;
29 APInt CarryKnownOne = PossibleSumOne ^ LHS.One ^ RHS.One;
29 APInt CarryKnownOne = PossibleSumOne ^ LHS.One ^ RHS.One;
32 APInt LHSKnownUnion = LHS.Zero | LHS.One;
33 APInt RHSKnownUnion = RHS.Zero | RHS.One;
43 KnownOut.One = std::move(PossibleSumOne) & Known;
51 LHS, RHS, Carry.Zero.getBoolValue(), Carry.One.getBoolValue());
63 std::swap(RHS.Zero, RHS.One);
lib/Target/AArch64/AArch64ISelLowering.cpp 1063 Known.One &= Known2.One;
1063 Known.One &= Known2.One;
lib/Target/AMDGPU/AMDGPUISelLowering.cpp 4458 Known.One.setHighBits(32 - MaxValBits);
4484 Known.One |= ((RHSKnown.One.getZExtValue() >> SelBits) & 0xff) << I;
4484 Known.One |= ((RHSKnown.One.getZExtValue() >> SelBits) & 0xff) << I;
4488 Known.One |= ((LHSKnown.One.getZExtValue() >> SelBits) & 0xff) << I;
4488 Known.One |= ((LHSKnown.One.getZExtValue() >> SelBits) & 0xff) << I;
4493 Known.One |= 0xFFull << I;
lib/Target/ARM/ARMISelLowering.cpp15411 Known.One &= KnownRHS.One;
15411 Known.One &= KnownRHS.One;
15438 Known.One &= Mask;
lib/Target/Lanai/LanaiISelLowering.cpp 1504 Known.One &= Known2.One;
1504 Known.One &= Known2.One;
lib/Target/PowerPC/PPCISelDAGToDAG.cpp 765 bool CanFoldMask = InsertMask == MKnown.One.getZExtValue();
lib/Target/PowerPC/PPCISelLowering.cpp12066 Op1Known.Zero.clearBit(0); Op1Known.One.clearBit(0);
12067 Op2Known.Zero.clearBit(0); Op2Known.One.clearBit(0);
12069 if (Op1Known.Zero != Op2Known.Zero || Op1Known.One != Op2Known.One)
12069 if (Op1Known.Zero != Op2Known.Zero || Op1Known.One != Op2Known.One)
lib/Target/Sparc/SparcISelLowering.cpp 1873 Known.One &= Known2.One;
1873 Known.One &= Known2.One;
lib/Target/SystemZ/SystemZISelDAGToDAG.cpp 821 Mask &= ~Known.One.getZExtValue();
lib/Target/SystemZ/SystemZISelLowering.cpp 6293 Known.One = LHSKnown.One & RHSKnown.One;
6293 Known.One = LHSKnown.One & RHSKnown.One;
6293 Known.One = LHSKnown.One & RHSKnown.One;
lib/Target/X86/X86ISelLowering.cpp 6912 if (Known0.One.isNullValue() && Known1.One.isNullValue()) {
6912 if (Known0.One.isNullValue() && Known1.One.isNullValue()) {
31531 Known.One <<= ShAmt;
31536 Known.One.lshrInPlace(ShAmt);
31541 Known.One.ashrInPlace(ShAmt);
31551 Known.One = APInt::getAllOnesValue(BitWidth * 2);
31557 Known.One &= Known2.One;
31557 Known.One &= Known2.One;
31562 Known.One &= Known2.One;
31562 Known.One &= Known2.One;
31577 Known.One &= Known2.Zero;
31578 Known.Zero |= Known2.One;
31589 Known.One |= Known2.One;
31589 Known.One |= Known2.One;
31609 Known.One &= Known2.One;
31609 Known.One &= Known2.One;
31627 Known.Zero.setAllBits(); Known.One.setAllBits();
31638 Known.One.clearAllBits();
31659 Known.One &= Known2.One;
31659 Known.One &= Known2.One;
34780 Known.One <<= ShAmt;
34801 Known.One.lshrInPlace(ShAmt);
34843 Known.One.lshrInPlace(ShAmt);
34853 if (Known.One[BitWidth - ShAmt - 1])
34854 Known.One.setHighBits(ShAmt);
34922 Known.One = KnownVec.One & KnownScl.One;
34922 Known.One = KnownVec.One & KnownScl.One;
34922 Known.One = KnownVec.One & KnownScl.One;
34980 if (KnownSrc.One[SrcBits - 1])
34981 Known.One.setLowBits(NumElts);
lib/Transforms/InstCombine/InstCombineCalls.cpp 1234 if (!Known.One.isNullValue() ||
lib/Transforms/InstCombine/InstCombineCasts.cpp 935 if (KnownLHS.Zero == KnownRHS.Zero && KnownLHS.One == KnownRHS.One) {
935 if (KnownLHS.Zero == KnownRHS.Zero && KnownLHS.One == KnownRHS.One) {
936 APInt KnownBits = KnownLHS.Zero | KnownLHS.One;
944 if (KnownLHS.One.uge(UnknownBit))
lib/Transforms/InstCombine/InstCombineCompares.cpp 107 APInt UnknownBits = ~(Known.Zero|Known.One);
111 Min = Known.One;
112 Max = Known.One|UnknownBits;
129 APInt UnknownBits = ~(Known.Zero|Known.One);
132 Min = Known.One;
134 Max = Known.One|UnknownBits;
1549 if ((Known.Zero | Known.One).countLeadingOnes() >= SrcBits - DstBits) {
1552 NewRHS |= Known.One & APInt::getHighBitsSet(SrcBits, SrcBits - DstBits);
5145 (Op0Known.One.isNegative() && Op1Known.One.isNegative())))
5145 (Op0Known.One.isNegative() && Op1Known.One.isNegative())))
lib/Transforms/InstCombine/InstCombineSelect.cpp 2653 if (Known.One.isOneValue())
lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp 177 APInt IKnownOne = RHSKnown.One & LHSKnown.One;
177 APInt IKnownOne = RHSKnown.One & LHSKnown.One;
186 if (DemandedMask.isSubsetOf(LHSKnown.Zero | RHSKnown.One))
188 if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.One))
196 Known.One = std::move(IKnownOne);
202 SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnown.One, LHSKnown,
211 APInt IKnownOne = RHSKnown.One | LHSKnown.One;
211 APInt IKnownOne = RHSKnown.One | LHSKnown.One;
220 if (DemandedMask.isSubsetOf(LHSKnown.One | RHSKnown.Zero))
222 if (DemandedMask.isSubsetOf(RHSKnown.One | LHSKnown.Zero))
230 Known.One = std::move(IKnownOne);
242 (RHSKnown.One & LHSKnown.One);
242 (RHSKnown.One & LHSKnown.One);
244 APInt IKnownOne = (RHSKnown.Zero & LHSKnown.One) |
245 (RHSKnown.One & LHSKnown.Zero);
273 if (DemandedMask.isSubsetOf(RHSKnown.Zero|RHSKnown.One) &&
274 RHSKnown.One.isSubsetOf(LHSKnown.One)) {
274 RHSKnown.One.isSubsetOf(LHSKnown.One)) {
276 ~RHSKnown.One & DemandedMask);
294 (LHSKnown.One & RHSKnown.One & DemandedMask) != 0) {
294 (LHSKnown.One & RHSKnown.One & DemandedMask) != 0) {
297 APInt NewMask = ~(LHSKnown.One & RHSKnown.One & DemandedMask);
297 APInt NewMask = ~(LHSKnown.One & RHSKnown.One & DemandedMask);
313 Known.One = std::move(IKnownOne);
356 Known.One = RHSKnown.One & LHSKnown.One;
356 Known.One = RHSKnown.One & LHSKnown.One;
356 Known.One = RHSKnown.One & LHSKnown.One;
489 Known.One <<= ShiftAmt;
513 Known.One.lshrInPlace(ShiftAmt);
562 Known.One.lshrInPlace(ShiftAmt);
573 } else if (Known.One[BitWidth-ShiftAmt-1]) { // New bits are known one.
574 Known.One |= HighBits;
618 Known.One = LHSKnown.One & LowBits;
618 Known.One = LHSKnown.One & LowBits;
627 if (LHSKnown.isNegative() && LowBits.intersects(LHSKnown.One))
628 Known.One |= ~LowBits;
711 Known.One = LHSKnown.One.shl(ShiftAmt) |
711 Known.One = LHSKnown.One.shl(ShiftAmt) |
712 RHSKnown.One.lshr(BitWidth - ShiftAmt);
754 if (DemandedMask.isSubsetOf(Known.Zero|Known.One))
755 return Constant::getIntegerValue(VTy, Known.One);
787 APInt IKnownOne = RHSKnown.One & LHSKnown.One;
787 APInt IKnownOne = RHSKnown.One & LHSKnown.One;
797 if (DemandedMask.isSubsetOf(LHSKnown.Zero | RHSKnown.One))
799 if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.One))
803 Known.One = std::move(IKnownOne);
818 APInt IKnownOne = RHSKnown.One | LHSKnown.One;
818 APInt IKnownOne = RHSKnown.One | LHSKnown.One;
828 if (DemandedMask.isSubsetOf(LHSKnown.One | RHSKnown.Zero))
830 if (DemandedMask.isSubsetOf(RHSKnown.One | LHSKnown.Zero))
834 Known.One = std::move(IKnownOne);
847 (RHSKnown.One & LHSKnown.One);
847 (RHSKnown.One & LHSKnown.One);
849 APInt IKnownOne = (RHSKnown.Zero & LHSKnown.One) |
850 (RHSKnown.One & LHSKnown.Zero);
867 Known.One = std::move(IKnownOne);
876 if (DemandedMask.isSubsetOf(Known.Zero|Known.One))
877 return Constant::getIntegerValue(ITy, Known.One);
920 Known.One.clearAllBits();
lib/Transforms/Utils/SimplifyCFG.cpp 4472 if (Known.Zero.intersects(CaseVal) || !Known.One.isSubsetOf(CaseVal) ||
4487 Bits - (Known.Zero | Known.One).countPopulation();
unittests/Analysis/ValueTrackingTest.cpp 79 EXPECT_EQ(Known.One.getZExtValue(), One);
unittests/CodeGen/AArch64SelectionDAGTest.cpp 178 EXPECT_EQ(Known.One, APInt(8, 0x55));
199 EXPECT_EQ(Known.One, APInt(8, 0x1));
unittests/CodeGen/GlobalISel/KnownBitsTest.cpp 25 EXPECT_EQ((uint64_t)1, Res.One.getZExtValue());
29 EXPECT_EQ(Res.One.getZExtValue(), Res2.One.getZExtValue());
29 EXPECT_EQ(Res.One.getZExtValue(), Res2.One.getZExtValue());
48 EXPECT_EQ((uint64_t)0, Res.One.getZExtValue());
55 EXPECT_EQ(Res.One.getZExtValue(), Res2.One.getZExtValue());
55 EXPECT_EQ(Res.One.getZExtValue(), Res2.One.getZExtValue());
72 EXPECT_EQ(256u, Res.One.getZExtValue());
88 EXPECT_EQ(3u, Res.One.getZExtValue());
116 EXPECT_EQ(0u, Known.One.getZExtValue());
unittests/IR/ConstantRangeTest.cpp 2077 Known.One = 66;
2085 Known.One = 164;
2092 Known.One = 68;
2105 Known.One = One;
2115 if ((Num & Known.Zero) != 0 || (~Num & Known.One) != 0)
unittests/Support/KnownBitsTest.cpp 27 Known.One = One;
42 if ((Num & Known.Zero) != 0 || (~Num & Known.One) != 0)
58 Known.One.setAllBits();
66 Known.One &= Add;
75 EXPECT_EQ(Known.One, KnownComputed.One);
75 EXPECT_EQ(Known.One, KnownComputed.One);
87 Known.One.setAllBits();
89 KnownNSW.One.setAllBits();
100 Known.One &= Res;
104 KnownNSW.One &= Res;
113 EXPECT_EQ(Known.One, KnownComputed.One);
113 EXPECT_EQ(Known.One, KnownComputed.One);
120 EXPECT_TRUE(KnownNSWComputed.One.isSubsetOf(KnownNSW.One));
120 EXPECT_TRUE(KnownNSWComputed.One.isSubsetOf(KnownNSW.One));