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

Declarations

include/llvm/IR/ConstantRange.h
  277   ConstantRange intersectWith(const ConstantRange &CR,

References

lib/Analysis/InstructionSimplify.cpp
 1552   if (IsAnd && Range0.intersectWith(Range1).isEmptySet())
lib/Analysis/LazyValueInfo.cpp
  120     A.getConstantRange().intersectWith(B.getConstantRange());
lib/Analysis/ScalarEvolution.cpp
 5576                     ConservativeResult.intersectWith(X, RangeType));
 5584                     ConservativeResult.intersectWith(X, RangeType));
 5592                     ConservativeResult.intersectWith(X, RangeType));
 5600                     ConservativeResult.intersectWith(X, RangeType));
 5608                     ConservativeResult.intersectWith(X, RangeType));
 5616                     ConservativeResult.intersectWith(X, RangeType));
 5623                     ConservativeResult.intersectWith(X.udiv(Y), RangeType));
 5629                     ConservativeResult.intersectWith(X.zeroExtend(BitWidth),
 5636                     ConservativeResult.intersectWith(X.signExtend(BitWidth),
 5643                     ConservativeResult.intersectWith(X.truncate(BitWidth),
 5653           ConservativeResult = ConservativeResult.intersectWith(
 5666         ConservativeResult = ConservativeResult.intersectWith(
 5670         ConservativeResult = ConservativeResult.intersectWith(
 5685               ConservativeResult.intersectWith(RangeFromAffine, RangeType);
 5692               ConservativeResult.intersectWith(RangeFromFactoring, RangeType);
 5703       ConservativeResult = ConservativeResult.intersectWith(MDRange.getValue(),
 5715             ConservativeResult.intersectWith(
 5722         ConservativeResult = ConservativeResult.intersectWith(
 5741             ConservativeResult.intersectWith(RangeFromOps, RangeType);
 5848   return SR.intersectWith(UR, ConstantRange::Smallest);
lib/Analysis/ValueTracking.cpp
 4008   return CR1.intersectWith(CR2, RangeType);
 5259   ConstantRange Intersection = DomCR.intersectWith(CR);
 5709       CR = CR.intersectWith(getConstantRangeFromMetadata(*Range));
lib/IR/ConstantRange.cpp
  271         .intersectWith(makeExactMulNSWRegion(Other.getSignedMax()));
  276     ConstantRange ShAmt = Other.intersectWith(
  424   return intersectWith(CR.inverse());
  457     return CR.intersectWith(*this, Type);
  899     Result = Result.intersectWith(addWithNoSignedWrap(Other), RangeType);
  901     Result = Result.intersectWith(addWithNoUnsignedWrap(Other), RangeType);
 1052   ConstantRange PosL = intersectWith(PosFilter);
 1053   ConstantRange NegL = intersectWith(NegFilter);
 1054   ConstantRange PosR = RHS.intersectWith(PosFilter);
 1055   ConstantRange NegR = RHS.intersectWith(NegFilter);
lib/IR/Metadata.cpp
  945   return !A.intersectWith(B).isEmptySet() || isContiguous(A, B);
lib/IR/Verifier.cpp
 3347       Assert(CurRange.intersectWith(LastRange).isEmptySet(),
 3362     Assert(FirstRange.intersectWith(LastRange).isEmptySet(),
lib/Transforms/InstCombine/InstCombineCompares.cpp
 1501     ConstantRange Intersection = DominatingCR.intersectWith(CR);
lib/Transforms/Scalar/GuardWidening.cpp
  563       auto SupersetIntersect = CR0.intersectWith(CR1);
lib/Transforms/Scalar/IndVarSimplify.cpp
 1023       It->second = R.intersectWith(It->second);
lib/Transforms/Utils/LowerSwitch.cpp
  499     ConstantRange ValRange = KnownBitsRange.intersectWith(LVIRange);
unittests/IR/ConstantRangeTest.cpp
  371   EXPECT_EQ(Empty.intersectWith(Full), Empty);
  372   EXPECT_EQ(Empty.intersectWith(Empty), Empty);
  373   EXPECT_EQ(Empty.intersectWith(One), Empty);
  374   EXPECT_EQ(Empty.intersectWith(Some), Empty);
  375   EXPECT_EQ(Empty.intersectWith(Wrap), Empty);
  376   EXPECT_EQ(Full.intersectWith(Full), Full);
  377   EXPECT_EQ(Some.intersectWith(Some), Some);
  378   EXPECT_EQ(Some.intersectWith(One), One);
  379   EXPECT_EQ(Full.intersectWith(One), One);
  380   EXPECT_EQ(Full.intersectWith(Some), Some);
  381   EXPECT_EQ(Some.intersectWith(Wrap), Empty);
  382   EXPECT_EQ(One.intersectWith(Wrap), Empty);
  383   EXPECT_EQ(One.intersectWith(Wrap), Wrap.intersectWith(One));
  383   EXPECT_EQ(One.intersectWith(Wrap), Wrap.intersectWith(One));
  390   EXPECT_TRUE(LHS.intersectWith(RHS) == LHS);
  395   EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 2)));
  400   EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 2), APInt(32, 0)));
  405   EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 4), APInt(32, 0)));
  410   EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 5), APInt(32, 1)));
  415   EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 7), APInt(32, 4)));
  420   EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 4), APInt(32, 2)));
  425   EXPECT_EQ(LHS.intersectWith(RHS), ConstantRange(APInt(32, 15), APInt(32, 0)));
  560         return CR1.intersectWith(CR2, Type);
  753                   .intersectWith(ConstantRange::getNonEmpty(UMin, UMax + 1));